diff --git a/web/atward/src/index.html b/web/atward/src/index.html index c9a7c494e..286bc6e54 100644 --- a/web/atward/src/index.html +++ b/web/atward/src/index.html @@ -4,6 +4,7 @@ + TVL Search
diff --git a/web/atward/src/main.rs b/web/atward/src/main.rs index 44ab4d29c..04beb02cd 100644 --- a/web/atward/src/main.rs +++ b/web/atward/src/main.rs @@ -113,6 +113,13 @@ fn dispatch(handlers: &[Handler], query: &Query) -> Option { None } +/// Return the opensearch.xml file which is required for adding atward +/// as a search engine in Firefox. +fn opensearch() -> Response { + Response::text(include_str!("opensearch.xml")) + .with_unique_header("Content-Type", "application/opensearchdescription+xml") +} + /// Render the atward index page which gives users some information /// about how to use the service. fn index() -> Response { @@ -133,6 +140,10 @@ fn main() { rouille::start_server(&address, move |request| { rouille::log(&request, std::io::stderr(), || { + if request.url() == "/opensearch.xml" { + return opensearch(); + } + let query = match Query::from_request(&request) { Some(q) => q, None => return index(), diff --git a/web/atward/src/opensearch.xml b/web/atward/src/opensearch.xml new file mode 100644 index 000000000..6033987f5 --- /dev/null +++ b/web/atward/src/opensearch.xml @@ -0,0 +1,8 @@ + + TVL + The Virus Lounge Search + UTF-8 + + + +