Skip to content

Commit d156bd7

Browse files
committed
clean urls on subreddit and search pages
1 parent 1deace1 commit d156bd7

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/search.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#![allow(clippy::cmp_owned)]
22

33
// CRATES
4-
use crate::utils::{self, catch_random, error, filter_posts, format_num, format_url, get_filters, param, redirect, setting, template, val, Post, Preferences};
4+
use crate::utils::{self, catch_random, clean_url, error, filter_posts, format_num, format_url, get_filters, param, redirect, setting, template, val, Post, Preferences};
55
use crate::{
66
client::json,
77
server::RequestExt,
@@ -131,6 +131,10 @@ pub async fn find(req: Request<Body>) -> Result<Response<Body>, String> {
131131
} else {
132132
match Post::fetch(&path, quarantined).await {
133133
Ok((mut posts, after)) => {
134+
let clean_urls = setting(&req, "clean_urls");
135+
if clean_urls == "on".to_owned() {
136+
posts.iter_mut().for_each(|post| post.media.url = clean_url(post.media.url.clone()));
137+
}
134138
let (_, all_posts_filtered) = filter_posts(&mut posts, &filters);
135139
let no_posts = posts.is_empty();
136140
let all_posts_hidden_nsfw = !no_posts && (posts.iter().all(|p| p.flags.nsfw) && setting(&req, "show_nsfw") != "on");

src/subreddit.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
use crate::{config, utils};
44
// CRATES
55
use crate::utils::{
6-
catch_random, error, filter_posts, format_num, format_url, get_filters, info, nsfw_landing, param, redirect, rewrite_urls, setting, template, val, Post, Preferences,
7-
Subreddit,
6+
catch_random, clean_url, error, filter_posts, format_num, format_url, get_filters, info, nsfw_landing, param, redirect, rewrite_urls, setting, template, val, Post,
7+
Preferences, Subreddit,
88
};
99
use crate::{client::json, server::RequestExt, server::ResponseExt};
1010
use cookie::Cookie;
@@ -164,6 +164,10 @@ pub async fn community(req: Request<Body>) -> Result<Response<Body>, String> {
164164
} else {
165165
match Post::fetch(&path, quarantined).await {
166166
Ok((mut posts, after)) => {
167+
let clean_urls = setting(&req, "clean_urls");
168+
if clean_urls == "on".to_owned() {
169+
posts.iter_mut().for_each(|post| post.media.url = clean_url(post.media.url.clone()));
170+
}
167171
let (_, all_posts_filtered) = filter_posts(&mut posts, &filters);
168172
let no_posts = posts.is_empty();
169173
let all_posts_hidden_nsfw = !no_posts && (posts.iter().all(|p| p.flags.nsfw) && setting(&req, "show_nsfw") != "on");

0 commit comments

Comments
 (0)