forked from Ponysearch/Ponysearch
1ea35605d1
Sending query params over GET seems to be the only way to be able to enable autocomplete in the browser. This commit adds the necessary URL formatting to opensearch.xml. In order to identify queries coming from the URL bar (rather than an AJAX request), which requires a different JSON format and MIME type, the request headers are checked for "X-Requested-With: XMLHttpRequest" which is added by jQuery request.
18 lines
876 B
XML
18 lines
876 B
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
|
<ShortName>{{ instance_name }}</ShortName>
|
|
<Description>a privacy-respecting, hackable metasearch engine</Description>
|
|
<InputEncoding>UTF-8</InputEncoding>
|
|
<Image>{{ urljoin(host, url_for('static', filename='img/favicon.png')) }}</Image>
|
|
<LongName>searx metasearch</LongName>
|
|
{% if opensearch_method == 'get' %}
|
|
<Url rel="results" type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/>
|
|
{% else %}
|
|
<Url rel="results" type="text/html" method="post" template="{{ host }}">
|
|
<Param name="q" value="{searchTerms}" />
|
|
</Url>
|
|
{% endif %}
|
|
{% if autocomplete %}
|
|
<Url rel="suggestions" type="application/x-suggestions+json" template="{{ host }}autocompleter?q={searchTerms}"/>
|
|
{% endif %}
|
|
</OpenSearchDescription>
|