mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-23 13:09:00 +00:00
Make website url configurable for search engine redirects
This commit is contained in:
parent
0e65384781
commit
389818c6c3
@ -0,0 +1,7 @@
|
||||
package nu.marginalia.wmsa.configuration;
|
||||
|
||||
public record WebsiteUrl(String url) {
|
||||
public String withPath(String path) {
|
||||
return url + path;
|
||||
}
|
||||
}
|
@ -2,12 +2,14 @@ package nu.marginalia.wmsa.edge.search;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import nu.marginalia.util.language.conf.LanguageModels;
|
||||
import nu.marginalia.wmsa.configuration.WebsiteUrl;
|
||||
import nu.marginalia.wmsa.configuration.WmsaHome;
|
||||
|
||||
public class EdgeSearchModule extends AbstractModule {
|
||||
|
||||
public void configure() {
|
||||
bind(LanguageModels.class).toInstance(WmsaHome.getLanguageModels());
|
||||
bind(WebsiteUrl.class).toInstance(new WebsiteUrl(System.getProperty("website-url", "https://search.marginalia.nu/")));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import com.google.inject.name.Named;
|
||||
import lombok.SneakyThrows;
|
||||
import nu.marginalia.wmsa.api.model.ApiSearchResult;
|
||||
import nu.marginalia.wmsa.api.model.ApiSearchResults;
|
||||
import nu.marginalia.wmsa.configuration.WebsiteUrl;
|
||||
import nu.marginalia.wmsa.configuration.server.Context;
|
||||
import nu.marginalia.wmsa.configuration.server.Initialization;
|
||||
import nu.marginalia.wmsa.configuration.server.MetricsServer;
|
||||
@ -34,7 +35,7 @@ public class EdgeSearchService extends Service {
|
||||
private final EdgeIndexClient indexClient;
|
||||
private final EdgeSearchOperator searchOperator;
|
||||
private final CommandEvaluator searchCommandEvaulator;
|
||||
|
||||
private final WebsiteUrl websiteUrl;
|
||||
private static final Logger logger = LoggerFactory.getLogger(EdgeSearchService.class);
|
||||
|
||||
@SneakyThrows
|
||||
@ -45,13 +46,14 @@ public class EdgeSearchService extends Service {
|
||||
Initialization initialization,
|
||||
MetricsServer metricsServer,
|
||||
EdgeSearchOperator searchOperator,
|
||||
CommandEvaluator searchCommandEvaulator
|
||||
) {
|
||||
CommandEvaluator searchCommandEvaulator,
|
||||
WebsiteUrl websiteUrl) {
|
||||
super(ip, port, initialization, metricsServer);
|
||||
this.indexClient = indexClient;
|
||||
|
||||
this.searchOperator = searchOperator;
|
||||
this.searchCommandEvaulator = searchCommandEvaulator;
|
||||
this.websiteUrl = websiteUrl;
|
||||
|
||||
Spark.staticFiles.expireTime(600);
|
||||
|
||||
@ -79,7 +81,7 @@ public class EdgeSearchService extends Service {
|
||||
final String query = URLEncoder.encode(String.format("%s site:%s", queryRaw, site), StandardCharsets.UTF_8);
|
||||
final String profile = request.queryParamOrDefault("profile", "yolo");
|
||||
|
||||
response.redirect("https://search.marginalia.nu/search?query="+query+"&profile="+profile);
|
||||
response.redirect(websiteUrl.withPath("search?query="+query+"&profile="+profile));
|
||||
|
||||
return null;
|
||||
}
|
||||
@ -141,7 +143,7 @@ public class EdgeSearchService extends Service {
|
||||
|
||||
final String queryParam = request.queryParams("query");
|
||||
if (null == queryParam || queryParam.isBlank()) {
|
||||
response.redirect("https://search.marginalia.nu/");
|
||||
response.redirect(websiteUrl.url());
|
||||
return null;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user