summaryrefslogtreecommitdiff
path: root/searx/webapp.py
diff options
context:
space:
mode:
authorMarc Abonce Seguin <marc-abonce@mailbox.org>2019-07-29 21:25:05 -0700
committerMarc Abonce Seguin <marc-abonce@mailbox.org>2020-11-02 20:04:03 -0700
commit8d71420b4511fdac63c39f33d93c7add1ea7716d (patch)
tree14f3e1e9cf815cf5cc301fb1699cd54816adfc25 /searx/webapp.py
parent45f58a4a2a0b89f4b416c28ea769139b16f6436d (diff)
[mod] separate index and search routes
This makes it easier to separately handle search and index requests from a web server or from a reverse proxy. If a request to index contains a query, a permanent redirect HTTP response is returned. This should give some level of backwards compatibility for users that have set a searx instance in their browser's search bar.
Diffstat (limited to 'searx/webapp.py')
-rwxr-xr-xsearx/webapp.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/searx/webapp.py b/searx/webapp.py
index 609669b85..46d547d52 100755
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -531,10 +531,22 @@ def index_error(output_format, error_message):
)
-@app.route('/search', methods=['GET', 'POST'])
@app.route('/', methods=['GET', 'POST'])
def index():
- """Render index page.
+ """Render index page."""
+
+ # redirect to search if there's a query in the request
+ if request.form.get('q'):
+ return redirect(url_for('search'), 308)
+
+ return render(
+ 'index.html',
+ )
+
+
+@app.route('/search', methods=['GET', 'POST'])
+def search():
+ """Search query in q and return results.
Supported outputs: html, json, csv, rss.
"""