Martín Varela
ed280f9a33
feature: fetch openapi content types from muuntaja
...
(level 1 integration in #636 )
2024-02-09 11:49:44 +02:00
Martín Varela
982ac3ec72
Fix: account for changed malli encoder behavior that was breaking ring-coercion-test
2024-02-09 11:37:34 +02:00
Martín Varela
f99a76886e
Fix: fix swagger ring tests, malli keys are now strings, not keywords
2024-02-09 11:21:31 +02:00
Joel Kaasinen
b4c0936207
Merge remote-tracking branch 'origin/master' into fix-openapi-examples
2023-09-11 07:53:15 +03:00
Joel Kaasinen
7352358662
feat: rename openapi :content-types keyword, split for req & resp
2023-09-08 15:17:35 +03:00
Joel Kaasinen
f1d26791fc
Merge branch 'master' into rework-pr-589
2023-08-30 08:29:06 +03:00
Joel Kaasinen
d5021e549a
fix: pick up openapi examples from [:responses _ :content :default]
2023-08-28 13:48:23 +03:00
Joel Kaasinen
4d1d469686
test: test multiple examples using new syntax
2023-08-28 13:48:23 +03:00
Joel Kaasinen
6f111bce2e
refactor: share -get-apidocs-openapi between malli, spec & schema
2023-08-28 09:24:10 +03:00
Tommi Reiman
adef7ad06e
read openapi metadata into openapi description
2023-08-23 16:43:34 +03:00
Tommi Reiman
226ca889b6
openapi content tests
2023-08-18 17:17:56 +03:00
Tommi Reiman
0728154751
name the doseq-tests
2023-05-29 12:07:54 +03:00
Tommi Reiman
b1404ada6d
top-level :request coercion & stuff
2023-05-28 16:49:08 +03:00
Tommi Reiman
1b5287724e
format
2023-05-27 19:02:10 +03:00
Tommi Reiman
d17c97780e
wrap :content schemas in :schema
2023-05-27 19:01:17 +03:00
Tommi Reiman
9f58bb22e3
kill ctrl
2023-05-22 20:28:20 +03:00
Tommi Reiman
9ac713f0e5
doesn't work properly with spec
2023-05-22 09:16:57 +03:00
Tommi Reiman
ce06214014
welcome 2-phase schema compilation
...
1) use `:update-paths` to handle data in certain (loose) paths differently
- accumulate schemas in all relevant routers into vector
- we do not know the coercion here (ring/http have special handling of data, e.g. http-methods)
2) run coercion compiler for the model to merge the effective model
- schema + malli = should work ok, spec = best effort
3) publish final schemas into compiled route data
2023-05-21 20:32:40 +03:00
Tommi Reiman
3f265888a4
cleanup
2023-05-21 20:16:45 +03:00
Tommi Reiman
550ea6da58
path-update
2023-05-21 20:13:43 +03:00
Tommi Reiman
4d0e40f135
ctrl.* is such test
2023-05-21 18:15:44 +03:00
Joel Kaasinen
1983a4bb64
test: openapi parameter descriptions via schema
2023-05-17 16:06:45 +03:00
Joel Kaasinen
c443adbfca
test: openapi parameter descriptions via spec
2023-05-17 08:25:44 +03:00
Joel Kaasinen
b56c15b64c
fix: openapi malli parameter descriptions
...
... should come from the parameter type, not from the parent :map
2023-05-17 08:19:44 +03:00
Joel Kaasinen
2e8e9265d9
test: document current openapi3 description behaviour
...
malli works weirdly, others don't
2023-05-17 08:19:26 +03:00
Wes Morgan
59812a350f
Update malli swagger test expectations for definitions
...
...which should only be at the top level now.
2023-05-09 10:33:54 -06:00
Juho Teperi
9f6565f097
Merge pull request #604 from metosin/fix-377-fragment-strings
...
Fix #377 , navigate to routes with fragment string in frontend
2023-05-04 15:12:41 +03:00
Wes Morgan
937768651e
Add malli swagger test w/ definitions
2023-04-20 12:39:08 -06:00
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
Wes Morgan
182524baac
Update swagger test expectations for latest malli changes
2023-04-17 11:35:28 -06:00
Joel Kaasinen
1a73ba952e
test: openapi3 + malli + mutually recursive schemas
2023-04-17 08:45:24 +03:00
Juho Teperi
56e6dbe8d8
Fix #377 , navigate to routes with fragment string in frontend
2023-03-24 14:42:13 +02: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
Ilshat Sultanov
25a051b003
Add support for fragment parameters in the reitit-frontend module
...
We have to process the fragment parameters due to the fact that the authorization server returns a callback in the following format:
`https://example.com/oauth/google/callback#access_token=foo&refresh_token=bar&provider_token=baz&token_type=bearer&expires_in=3600 `
Links:
- https://www.rfc-editor.org/rfc/rfc6749#section-4.2
- https://www.rfc-editor.org/rfc/rfc6749#section-4.2.2
2022-06-15 23:38:51 +05:00
Tommi Reiman
1ecfd1ae02
CHANGELOG, pass match too
2022-04-05 17:55:09 +03:00
Tommi Reiman
9e4b420fc8
on-coercion-error
2022-04-05 17:33:25 +03:00
Tommi Reiman
650ff3d6b3
.
2022-03-10 15:23:07 +02:00
Tommi Reiman
f9841363c5
faster impl, removes all intermediate steps + cleanup
2022-03-10 14:21:39 +02:00
Tommi Reiman
1e5fb601da
fix #538
2022-03-10 13:42:53 +02:00
Tommi Reiman
f3dee769fb
format-ns
2022-02-14 16:59:20 +02:00
Tommi Reiman
2aba5610c7
format
2022-02-14 16:58:10 +02:00
Tommi Reiman
d0f7126491
add support for malli-lite
2022-02-14 16:45:14 +02:00
Tommi Reiman
bdcb1eb5b1
clean-ns
2022-02-12 22:35:27 +02:00
Tommi Reiman
5d4c886d35
format
2022-02-12 22:34:26 +02:00
Miikka Koskinen
9160aa0f2b
Add a test for /{foo}.html style routes
...
Just like path `///` would not match `/{foo}/`, `/..html` does not match
`/{foo}.html`.
2021-10-06 20:42:09 +03:00
Tommi Reiman
38f2bd4812
Merge branch 'master' into fix-resource-handler-url-decoding
2021-08-03 13:33:39 +03:00
Tommi Reiman
5486174722
Merge pull request #501 from metosin/malli-fix
...
Fix malli encoding & update deps
2021-08-03 13:29:53 +03:00
Tommi Reiman
020c424b4e
dead code, CHANGELOG
2021-08-03 13:24:29 +03:00
Tommi Reiman
20b7cabed7
Fix Malli encoding,, #498
2021-08-03 08:46:51 +03:00
Dieter Komendera
056c70d269
Enrich request for pedestal/routing-interceptor default-queue
...
This ensures requests handled by the default queue also have
access to the router per the injected :reitit.core/router key
on the request.
2021-06-24 14:07:23 +02:00
Miikka Koskinen
1297cfd902
Handle URL-encoded paths in file and resource handlers
2021-04-30 14:38:18 +03:00
Miikka Koskinen
1b74373911
Use explicit :refers
2021-04-23 17:15:35 +03:00
Miikka Koskinen
1b583c1cc2
Remove operation-id uniqueness check
...
Let's leave that for other tools for now.
2021-04-23 17:02:17 +03:00