metosin / metosin/compojure-api
Mixing compojure.api.sweet/defapi and compojure.core/defroutes
Nessuno ha ancora preso questa issue.
- Lingua principale
- Clojure
- Stelle
- 1.1k
- Fork
- 146
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Library Version(s)
[metosin/compojure-api "1.1.13"]
[compojure "1.6.1"]
Problem
I have two handlers, defined as
(compojure.api.sweet/defapi restful-routes...)
(compojure.core/defroutes public-routes...)
When I combine them with
(compojure.core/routes #'restful-routes #'public-routes)
the POST requests to public routes loose :body parameters. The body comes through as org.eclipse.jetty.server.HttpInputOverHTTP, but it has been read somwhere in the middleware so its content is not available.
I blame compojure.api.sweet for this, because when I reverse the call order to
(compojure.core/routes #'public-routes #'restful-routes)
it works fine, the body streams in POST methods are available in both handlers.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema con compojure-api 1.1.13 e compojure 1.6.1 utilizzando le due definizioni delle route e entrambi gli ordini di compojure.core/routes. Traccia il middleware applicato da defapi e defroutes, quindi verifica che i parametri del body delle richieste POST rimangano disponibili indipendentemente dall’ordine delle route.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- clojure
- Ambito
- api, backend
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100