mirror of
https://github.com/searxng/searxng.git
synced 2025-07-14 16:59:21 +02:00
[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.
This commit is contained in:
parent
45f58a4a2a
commit
8d71420b45
17 changed files with 70 additions and 42 deletions
|
@ -77,6 +77,11 @@ class ViewsTestCase(SearxTestCase):
|
|||
|
||||
def test_index_html(self):
|
||||
result = self.app.post('/', data={'q': 'test'})
|
||||
self.assertEqual(result.status_code, 308)
|
||||
|
||||
def test_search_html(self):
|
||||
result = self.app.post('/search', data={'q': 'test'})
|
||||
|
||||
self.assertIn(
|
||||
b'<h3 class="result_title"><img width="14" height="14" class="favicon" src="/static/themes/legacy/img/icons/icon_youtube.ico" alt="youtube" /><a href="http://second.test.xyz" rel="noreferrer">Second <span class="highlight">Test</span></a></h3>', # noqa
|
||||
result.data
|
||||
|
@ -88,7 +93,10 @@ class ViewsTestCase(SearxTestCase):
|
|||
|
||||
def test_index_json(self):
|
||||
result = self.app.post('/', data={'q': 'test', 'format': 'json'})
|
||||
self.assertEqual(result.status_code, 308)
|
||||
|
||||
def test_search_json(self):
|
||||
result = self.app.post('/search', data={'q': 'test', 'format': 'json'})
|
||||
result_dict = json.loads(result.data.decode())
|
||||
|
||||
self.assertEqual('test', result_dict['query'])
|
||||
|
@ -98,6 +106,10 @@ class ViewsTestCase(SearxTestCase):
|
|||
|
||||
def test_index_csv(self):
|
||||
result = self.app.post('/', data={'q': 'test', 'format': 'csv'})
|
||||
self.assertEqual(result.status_code, 308)
|
||||
|
||||
def test_search_csv(self):
|
||||
result = self.app.post('/search', data={'q': 'test', 'format': 'csv'})
|
||||
|
||||
self.assertEqual(
|
||||
b'title,url,content,host,engine,score,type\r\n'
|
||||
|
@ -108,6 +120,10 @@ class ViewsTestCase(SearxTestCase):
|
|||
|
||||
def test_index_rss(self):
|
||||
result = self.app.post('/', data={'q': 'test', 'format': 'rss'})
|
||||
self.assertEqual(result.status_code, 308)
|
||||
|
||||
def test_index_rss(self):
|
||||
result = self.app.post('/search', data={'q': 'test', 'format': 'rss'})
|
||||
|
||||
self.assertIn(
|
||||
b'<description>Search results for "test" - searx</description>',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue