fastify-cors: 404 Not Found on OPTIONS request
Completely stumped. I have the cors plugin installed, and two routes as follows:
module.exports = async (app, opts) => {
app.get('/bar', async (request, reply) => {
return { hello: 'bar called' }
})
app.get('/foo', async (request, reply) => {
return { hello: 'foo called' }
})
}
OPTIONS requests seem to be working, and are handled by the onRequest hook in the fastify-cors plugin, but when I change the path of the bar route, to anything else that doesn’t start with bar… I get a 404 not found response.
e.g.:
module.exports = async (app, opts) => {
app.get('/fuzzy', async (request, reply) => {
return { hello: 'bar called' }
})
}
curl -X OPTIONS http://127.0.0.1:3000/fuzzy
returns
{"statusCode":404,"error":"Not Found","message":"Not Found"}
Any ideas?
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 1
- Comments: 16 (4 by maintainers)
Apologies for the slow reply. What we think might be happening, is that in our application, we are registering a main app.js plugin, after index.js. https://github.com/58bits/fastify-20/blob/master/index.js - and that if instead the fastify-cors module is loaded in index.js (top level scope?) it works.
We still don’t know 100% why, and have not had time to dig into find-my-way, or the problem in more detail.
For now - we’ve simply created our own plugin, using the
'/*'
catch-all route as follows (leaning heavily on the fastify-cors module as an example).Try this… https://github.com/58bits/fastify-20
This is a different problem as OP says OPTIONS, but I struggled to fix
curl -I http://127.0.0.1:3000
returns404
.For others who miss the document, this helped me a lot.
Related
Sorry both @daveamayombo and I are on the road until later this week. Stay tuned…