Skip to content

Commit b93f743

Browse files
committed
Handle response headers
1 parent 0ed1a0d commit b93f743

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## Unreleased
22

3+
* Response headers are mapped correctly, Fixes https://github.com/metosin/compojure-api/issues/232.
4+
35
* updated dependencies:
46

57
```clj

src/ring/swagger/swagger2.clj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@
7979
:let [{:keys [schema headers]} v]]
8080
k (-> v
8181
(cond-> schema (update-in [:schema] jsons/->swagger options))
82-
(cond-> headers (update-in [:headers] jsons/properties))
82+
(cond-> headers (update-in [:headers] (fn [headers]
83+
(if headers
84+
(->> (for [[k v] headers]
85+
[k (jsons/->swagger v options)])
86+
(into {}))))))
8387
(update-in [:description] #(or % (default-response-description k options)))
8488
remove-empty-keys))]
8589
(if-not (empty? responses)

test/ring/swagger/swagger2_unit_test.clj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,8 @@
428428
:produces ["application/xyz"]
429429
:parameters {:path {:id Integer}}
430430
:responses {200 {:description "ok"
431-
:schema Pet}
431+
:schema Pet
432+
:headers {"X-men" (describe s/Str "mutant header")}}
432433
404 {:description "fail"
433434
:schema PetError}}}}}})
434435
=> {:swagger "2.0"
@@ -460,7 +461,9 @@
460461
:type "integer"
461462
:format "int32"}]
462463
:responses {200 {:description "ok"
463-
:schema {:$ref "#/definitions/Pet"}}
464+
:schema {:$ref "#/definitions/Pet"}
465+
:headers {"X-men" {:type "string"
466+
:description "mutant header"}}}
464467
404 {:description "fail"
465468
:schema {:$ref "#/definitions/PetError"}}}}}}
466469
:definitions {"Pet" {:type "object"

0 commit comments

Comments
 (0)