metosin/compojure-api

Question about `route-middleware` usage

Open

#394 aberto em 3 de out. de 2018

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)Clojure (149 forks)batch import
bughelp wanted

Métricas do repositório

Stars
 (1.120 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

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 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:

(context "test-endpoint" []
     (resource {:responses {200 {:schema domain/schema}}
                :get       {:parameters {:query-params domain/Request}
                               :handler    (handle-request)}}))

Guia do colaborador