You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've been using compojure-api for a while and it works great, although we just came across with an issue.
We have couple of endpoints defined with route-middleware where we are trying to use some middlewares like logging or a prometheus related one. This works just fine if the endpoint is defined with GET or POST macros but for some reason the endpoints defined with resource won't get wrapped with the middleware functions. As far as I could see this issue had been present in the previous version with middleware function too.
We worked around this problem defining middlewares in resource macros' :middleware param.
My question would be that, is there a way to solve this problem? Using route-middleware endpoints defined without GET, POST etc. macros?
Thanks
Janos
Here is an example endpoint which is having problem:
route-middleware uses compojure.core/wrap-routes which is an elegant hack to applying middleware after route matching by using request injection. It requires the route to be wrapped into compojure.core/wrap-route-middleware to make it work. I think the resource doesn't do that. PR on that would be welcome.
PS. For simplicity on route & middleware definitions, there is also reitit, fixing all the issues inherited from Compojure.
Library Version(s)
[metosin/compojure-api "2.0.0-alpha25"]
Problem
Hi,
We've been using compojure-api for a while and it works great, although we just came across with an issue.
We have couple of endpoints defined with
route-middleware
where we are trying to use some middlewares like logging or a prometheus related one. This works just fine if the endpoint is defined withGET
orPOST
macros but for some reason the endpoints defined withresource
won't get wrapped with the middleware functions. As far as I could see this issue had been present in the previous version withmiddleware
function too.We worked around this problem defining middlewares in
resource
macros':middleware
param.My question would be that, is there a way to solve this problem? Using
route-middleware
endpoints defined withoutGET
,POST
etc. macros?Thanks
Janos
Here is an example endpoint which is having problem:
The text was updated successfully, but these errors were encountered: