Commit graph

392 commits

Author SHA1 Message Date
Joel Kaasinen
ca9852a318 test: multiple named openapi examples 2023-04-19 10:49:23 +03:00
Joel Kaasinen
75ebeaf6cd test: test openapi examples support for malli, schema, spec 2023-04-18 15:04:14 +03:00
Joel Kaasinen
1a73ba952e test: openapi3 + malli + mutually recursive schemas 2023-04-17 08:45:24 +03:00
Juho Teperi
e2217887e3 Comments about differences to reitit.impl 2023-03-24 13:59:02 +02:00
Juho Teperi
48bbdba8ed Implement navigate and set-query functions 2023-03-24 11:16:09 +02:00
Juho Teperi
f78116e346 Test fragment 2023-03-23 15:46:25 +02:00
Juho Teperi
a558365252 Cleanup 2023-03-23 15:41:48 +02:00
Juho Teperi
e3e93eaffb Add some tests 2023-03-23 15:36:48 +02:00
Joel Kaasinen
d8e28e153b fix: swagger multipart support
1. For spec we were including some extra stuff in the parameter
specification:

{:description "",
 :in "formData",
 :name "file",
 :properties {"bytes" {:format "byte", :type "string"},
              "content-type" {:type "string"},
              "filename" {:type "string"}},
 :required ["filename" "content-type" "bytes"],
 :type "file"}

2. For malli the :type changed from "file" to "string" because of
openapi changes. Now openapi and swagger both get the right type.

3. Test for swagger multipart support
2023-03-17 14:54:46 +02:00
Joel Kaasinen
b5c9ee274d feat: generate correct openapi for reitit.ring.malli 2023-03-16 09:57:02 +02:00
Joel Kaasinen
de2d810b7c test: multiple parts in multipart-test 2023-03-15 17:48:03 +02:00
Joel Kaasinen
acbcec1ed9 feat: openapi3 multipart support for schema 2023-03-15 17:48:03 +02:00
Joel Kaasinen
1c65f533cf feat: openapi3 multipart support for malli 2023-03-15 17:48:03 +02:00
Joel Kaasinen
f322597c04 feat: openapi3 multipart support for spec 2023-03-15 17:48:03 +02:00
Joel Kaasinen
d0ff64df57 test: simplify openapi_test.clj a bit more 2023-03-15 16:01:57 +02:00
Joel Kaasinen
66e7c9e1c8 test: nicer handling of missing :additionalProperties for spec 2023-03-15 13:19:01 +02:00
Joel Kaasinen
8c87fef7b6 feat: warning when swagger encounters per-content-type coercions 2023-03-10 08:52:45 +02:00
Joel Kaasinen
50c1af9a5b feat: route data validation for per-content-type coercions 2023-03-08 14:39:52 +02:00
Joel Kaasinen
9ae3cd0824 fix: reitit.openapi route data validation
:kind set? would've worked, but there's no need to insist a set

also, turn on route data validation in openapi_test.clj
2023-03-08 14:39:52 +02:00
Joel Kaasinen
2cc6e33654 test: openapi operationId, tags and deprecated 2023-03-08 10:55:23 +02:00
Joel Kaasinen
16145dbdce test: validate generated openapi specs in all tests 2023-03-07 09:13:38 +02:00
Joel Kaasinen
8e099febdd test: validate generated openapi spec 2023-03-06 16:10:48 +02:00
Joel Kaasinen
4c990fb44f feat: openapi default request/response schemas
use a default schema from :request/:response :body for all specified
:content-types
2023-03-06 10:58:03 +02:00
Joel Kaasinen
c3a3ca9f95 feat: change syntax for :request parameter coercion default schema
use :request :body instead of :request :content :default for symmetry
with :response
2023-03-06 10:54:24 +02:00
Joel Kaasinen
7842160656 Merge remote-tracking branch 'origin/master' into openapi 2023-03-03 14:43:23 +02:00
Joel Kaasinen
2d60702769 fix: per-content-type openapi w/ spec 2023-03-03 14:15:31 +02:00
Joel Kaasinen
b149c8c5af test: rework openapi3 tests
- DRY out all-parameter-types-test and per-content-type-test
- Remove redundant assertions
- Run same test for malli/schema/spec
- Clean up commented-out code etc.
2023-03-03 14:15:31 +02:00
Joel Kaasinen
c8d679c6b3 feat: per-content-type request/response coercions
implemented on the reitit-core level so individual coercions don't
need changes

syntax:

{:parameters {:request {:content {"application/edn" [:map ...]}}}
 :responses {200 {:content {"application/edn" [:map ...]}}}}
2023-03-03 14:15:31 +02:00
Joel Kaasinen
8f48cdc96c test: enable openapi spec tests 2023-03-03 14:15:22 +02:00
Ilmo Raunio
310dcd0e99
Merge pull request #581 from metosin/add-support-for-fragment-parameters-2
Add reitit-frontend support for fragment string
2023-02-21 15:05:25 +02:00
Ilmo Raunio
e490f5df05
Merge pull request #584 from metosin/reloading-ring-handler
reloading-ring-handler
2023-02-21 14:42:33 +02:00
Juho Teperi
2494f702d9 Read fragment string without decoding
Users can use Malli decoding to control decoding per schema.
2023-02-16 13:13:48 +02:00
Juho Teperi
83c31e35bc Revert "Revert "Merge pull request #554 from just-sultanov/add-support-for-fragment-parameters""
This reverts commit 4d1b00edfa.
2023-02-16 11:53:27 +02:00
Joel Kaasinen
f03134e215 fix: malli openapi tests
malli.json-schema now outputs `:additionalProperties false`
2023-02-15 16:07:23 +02:00
bplubell
e175dc76c9 Fix incorrect ring-router doc references
It looks like documentation references to `ring-router` are left-overs
from early README examples - I couldn't find any code that ever used the
name. The Ring router named `reitit.ring/router`.

While it didn't take too long for me to realize why my `ring-router` was
not working, I had to look the examples to figure out the name of the
function was just `router` - which was confusing since the section
header stated `reitit-router`.
2023-01-31 15:51:31 -08:00
Tommi Reiman
d1bb44a88f
Merge branch 'master' into reloading-ring-handler 2023-01-22 14:30:06 +02:00
Tommi Reiman
0648296315
Merge branch 'master' into feature/openapi 2023-01-22 14:29:22 +02:00
Tommi Reiman
3fd20f2294 reloading-ring-handler 2023-01-22 14:15:08 +02:00
Tommi Reiman
8e1e7e62ca fix spec tests + format 2023-01-21 10:58:53 +02:00
Tommi Reiman
d1e02fd0a1 Update dependencies 2023-01-21 10:56:42 +02:00
Tommi Reiman
98a4d9b447 :meta-merge-fn -> :meta-merge 2023-01-21 10:56:42 +02:00
Tommi Reiman
3ec5acc7a1
Merge pull request #582 from ilmoraunio/issue-565
Include query-string as part of location header in redirect-trailing-slash-handler
2023-01-21 10:51:20 +02:00
Ilmo Raunio
0870b20a05 Add query-string to redirect-trailing-slash-handler 2023-01-20 00:20:10 +02:00
Juho Teperi
4d1b00edfa Revert "Merge pull request #554 from just-sultanov/add-support-for-fragment-parameters"
This reverts commit c2c267f4d8, reversing
changes made to 8087522b82.
2023-01-18 18:38:47 +02:00
Tommi Reiman
c2c267f4d8
Merge pull request #554 from just-sultanov/add-support-for-fragment-parameters
Add support for fragment parameters in the reitit-frontend module
2023-01-09 17:33:24 +02:00
Tommi Reiman
42e988e518
Merge branch 'master' into support-operationid 2023-01-09 17:27:00 +02:00
Tommi Reiman
26a581298a
Merge pull request #561 from pfeodrippe/meta-merge
add `:meta-merge-fn` option
2023-01-09 16:39:12 +02:00
Toni Väisänen
c69b4cde3a Handle empty seq as empty string in query-string
example:

instead of

```clojure
(query-string {:nil nil
               :vec []
               :seq-empty '()})
;; => "nil=&&"
```

now

```clojure
(query-string {:nil nil
               :vec []
               :seq-empty '()})
;; => "nil=&vec=&seq-empty="
```
2022-10-12 13:24:07 +03:00
Enzzo Cavallo
c576b47634
OpenAPI V3 Support 2022-09-05 03:21:53 -03:00
Paulo Feodrippe
fc73d02e01 add :meta-merge-fn option 2022-08-11 07:55:15 -04:00