Можно ли заставить React Router обрабатывать запросы подсказки OpenSearch с ответом JSON?
вещь выглядит так:
index.html:
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Search">
opensearch.xml:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>Search</ShortName>
<Description>Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image height="16" width="16" type="image/x-icon">https://host/favicon.ico</Image>
<Url type="text/html" method="get" template="https://host/search?q={searchTerms}" />
<Url type="application/x-suggestions+json"
template="https://host/suggest?q={searchTerms}">
<Query role="example" searchTerms="RDF"/>
</Url>
index.js
ReactDOM.render(
<Provider store={store()}>
<Router>
<div>
<Route exact path="/" component={App} />
<Route path='/suggest' render={(event) => {
console.log('Route Suggest', { event });
return ["fir", ["firefox", "first choice", "mozilla firefox"]];
}}/>
</div>
</Router>
</Provider>,
document.getElementById('root')
);
На стороне сервера в журнале nginx есть:
==> /var/log/nginx/access.log <==
[14/Nov/2018:20:09:50 +0100] "GET /suggest?q=foo HTTP/2.0" 200 1167 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0" "-"
Но в окне поиска браузера ничего не возвращается. И на клиентской консоли нет никаких следов.
Кроме того, GET /suggest?q=foo
не обрабатывается событием fetch
Сервисного работника.
Может ли React Router обработать такой запрос и вернуть ответ JSON? Или, возможно, с помощью перехваченного запроса у Service Service?