Commit graph

355 commits

Author SHA1 Message Date
Joel Kaasinen
814c8b88e2 refactor: factor out -identity-coercer 2023-03-14 14:39:05 +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
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
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
Tommi Reiman
47f1ee0c84 0.6.0 2023-02-21 15:17:00 +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
Chris Badahdah
999f6c3dbd Allow var handlers 2023-01-31 16:04:28 -07:00
Tommi Reiman
0648296315
Merge branch 'master' into feature/openapi 2023-01-22 14:29:22 +02:00
Tommi Reiman
8e1e7e62ca fix spec tests + format 2023-01-21 10:58:53 +02:00
Tommi Reiman
f27c2fc2aa clean 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
22fb9810a7
Merge pull request #552 from frwdrik/patch-1
Remove redundant s/and
2023-01-21 10:43:26 +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
26a581298a
Merge pull request #561 from pfeodrippe/meta-merge
add `:meta-merge-fn` option
2023-01-09 16:39:12 +02:00
Ben Sless
24f38e0dfa Unroll merge and hash-map coercion 2022-12-06 21:35:26 +02:00
Ben Sless
8398c98595 Add serialize-failed-result coercion option
False by default, if true will serialize the failed coercion result in
the error message
2022-12-06 21:34:13 +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
Fredrik Vaeng Røtnes
aeab5b96a6
Remove redundant s/and 2022-05-09 10:36:40 +00:00
Tommi Reiman
3dff4c84aa 0.5.18 2022-04-05 21:38:04 +03:00
Tommi Reiman
4e40d3e2c9
Merge pull request #537 from frwdrik/master
Save three seq constructions
2022-04-05 21:34:56 +03:00
Fredrik Vaeng Røtnes
43d6f52208
Update spec.cljc
Stray character
2022-03-18 15:55:20 +00:00
Tommi Reiman
f0405adc02 0.5.17 2022-03-10 20:15:43 +02:00
Tommi Reiman
b0602d60c9 one more time 2022-03-10 15:21:15 +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
Fredrik Vaeng Røtnes
7033abc530 Save three seq constructions 2022-03-05 01:46:03 +01:00
Tommi Reiman
382661a6c4 0.5.16 2022-02-15 16:55:08 +02:00
Tommi Reiman
0a872d8f3a 0.5.16-SNAPSHOT 2022-02-14 17:52:32 +02:00
Tommi Reiman
f3dee769fb format-ns 2022-02-14 16:59:20 +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
Juho Teperi
07c39fc2df Setup clj-kondo files for each module
Clojure-lsp will run clj-kondo on the module folders, so those modules
should refer back to root configuration. Clj-kondo itself works the
same, if running from a module directory. Some editor plugins might run
clj-kondo on the working directory always (reitit root folder usually),
and in those cases this isn't needed.
2022-01-24 12:39:42 +02:00
Juho Teperi
ad90a2788e The goog-extend macro isn't used
Reitit.frontend.history was rewritten in 08156f6a6d
2021-12-22 21:49:02 +02:00
Tommi Reiman
8694d312f8 0.5.15 2021-08-05 18:46:29 +03:00
Tommi Reiman
db84daca95 0.5.14 2021-08-03 13:41:27 +03:00
Miikka Koskinen
51a26ed052 Release 0.5.13 2021-04-23 17:41:40 +03:00
Tommi Reiman
f43a8311fc 0.5.12 2021-02-04 20:40:25 +02:00
Kimmo Koskinen
496e6b6fc7 Allow space as separator, fixes #411
Fixes https://github.com/metosin/reitit/issues/411
2021-01-29 15:02:35 +02:00
Tommi Reiman
b4099169be 0..5.11 with updated deps 2020-12-27 22:50:02 +02:00
Tommi Reiman
0b2c4d0d8e 0.5.10 2020-10-22 00:10:52 +03:00
Tommi Reiman
dbf3751815 0.5.9 2020-10-19 10:46:38 +03:00
Tommi Reiman
ff647f3a2c 0.5.8 2020-10-19 08:31:29 +03:00
Tommi Reiman
c3df762b48
Merge pull request #444 from dawran6/376-route-data-spec-for-conflicting
Add :conflicting to route data spec
2020-10-19 08:08:38 +03:00
Daw-Ran Liou
c0a76c6648 Add :conflicting to route data spec 2020-10-19 03:02:18 +08:00
Tommi Reiman
8c3ad99276 0.5.7 2020-10-18 20:43:24 +03:00
Tommi Reiman
5e290db106 0.5.6 2020-09-26 16:08:34 +03:00
Tommi Reiman
43e1a520d6 0.5.5 2020-07-15 11:28:11 +03:00
Tommi Reiman
274d527d2f 0.5.4 (with latest malli) 2020-07-13 11:08:19 +03:00
Tommi Reiman
56cbd67abd 0.5.3 2020-07-09 22:06:04 +03:00
Tommi Reiman
e30e739a15 0.5.2 2020-05-27 08:32:38 +03:00
Tommi Reiman
e649ed22b9 New options for malli coercion 2020-05-26 08:09:35 +03:00
Tommi Reiman
50f0120e8c 0.5.1 2020-05-18 15:00:28 +03:00
Tommi Reiman
500a4cc809 0.5.0 2020-05-17 18:42:33 +03:00
Tommi Reiman
1b0cc0a100 Faster path conflict resolution, O(n2) -> O(n) 2020-04-27 08:38:27 +03:00
Tommi Reiman
b128a0f3db Run path-conflicting just once for quarantine router 2020-04-26 22:04:14 +03:00
Tommi Reiman
0d3a195cd8 Format 2020-04-26 21:28:08 +03:00
Tommi Reiman
f45f5859eb Fix reflection warning 2020-04-26 21:28:04 +03:00
Tommi Reiman
faaaedaa29 Enable quick creation of routers 2020-04-26 21:27:55 +03:00
Juho Teperi
c4e84c2875 Add clj-kondo and fix most linting warnings 2020-03-05 13:32:48 +02:00
Wanderson Ferreira
f7e4136e0e adding type hints to clean boxed operations with java.lang.Objects 2020-01-19 00:37:57 -03:00
Tommi Reiman
3ca0492244 0.4.2 2020-01-17 18:39:07 +02:00
Tommi Reiman
945fec23a9 0.4.1 2020-01-14 21:42:47 +02:00
Miikka Koskinen
1ad0141792 Release 0.4.0 2020-01-14 15:49:13 +02:00
Tommi Reiman
b651fac0b0 Use latest malli fixing visitors 2020-01-08 21:50:04 +02:00
Tommi Reiman
a7cd1cf398 response endoding, WIP: tests 2019-12-27 22:03:52 +02:00
Pauli Jaakkola
6d5bf64833 Implement encoding of multi-valued query params. 2019-12-02 15:33:55 +02:00
Ilmo Raunio
25728ae8f2 Use transducer per #329 review suggestion 2019-11-13 22:49:21 +02:00
Ilmo Raunio
8a86701902 Allow path conflict resolution with :conflicting 2019-11-13 22:49:21 +02:00
Tommi Reiman
c23f591283 0.3.10 2019-10-08 10:28:25 +03:00
Alexander Kiel
a19849fe58 Make Map Destructuring of Namespaced Keys more Beautiful
It's possible to put the :keys keyword in the namespace of the keys one likes to
destructure. With that one can use symbols in the vector again. One advantage of
having symbols is, that Cursive grays them out if not used. I found two
occurrences of unused destructured keys.
2019-07-13 17:02:41 +03:00
Tommi Reiman
2e85f44a7e 0.3.9 2019-06-16 20:20:49 +03:00
Tommi Reiman
dd7a01b1bc 0.3.8 2019-06-15 11:49:45 +03:00
Tommi Reiman
46897f3927 Update docs 2019-06-09 20:46:20 +03:00
Tommi Reiman
c9281f0e89 support :parameter-syntax option in router 2019-06-09 20:29:03 +03:00
Tommi Reiman
12543b1c30 0.3.7 2019-05-25 16:00:45 +03:00
Tommi Reiman
a314e06887 0.3.6 2019-05-23 14:37:58 +03:00
Tommi Reiman
568dbad3a3 0.3.5 2019-05-22 21:25:56 +03:00
Tommi Reiman
4178acde5f Make Trie$Match immutable 2019-05-22 21:10:51 +03:00
Tommi Reiman
60ee39bd53 Trie$Match is mutable, fixes #277 2019-05-22 16:39:37 +03:00
Tommi Reiman
3381fe34e5 0.3.4 2019-05-20 20:14:14 +03:00
Tommi Reiman
32fced15e8 Release 0.3.3 2019-05-16 07:03:17 +03:00
Tommi Reiman
7e7b57c913 Add ex-message shim 2019-05-16 06:51:10 +03:00
Tommi Reiman
ad0bc7e013 Better errors for route-data merge errors 2019-05-15 22:54:35 +03:00
Tommi Reiman
2e7729349e 0.3.2 2019-05-13 17:06:37 +03:00
Tommi Reiman
419dd24316 Route-data validation docs 2019-05-11 22:31:58 +03:00
Tommi Reiman
e70837b140
Merge pull request #263 from metosin/north
Closed spec validation demoed in Clojure/North (WIP)
2019-05-10 14:28:39 +03:00
Tommi Reiman
a9bdceeeb6 reitit.spec/wrap spec-tools.spec/closed 2019-05-01 22:40:44 +03:00
Tommi Reiman
c8eaa955c3 Revert fast params in a Trie 2019-05-01 22:40:44 +03:00
Tommi Reiman
1326d76936 Faster params in Trie 2019-05-01 22:40:44 +03:00
Tommi Reiman
68d68402d9 Fix Java Trie example 2019-05-01 22:40:44 +03:00
Tommi Reiman
674b60a124 spell-spec 2019-04-28 17:06:50 +03:00
Valtteri Harmainen
f7332d3bc4 Fix empty query params map resulting in redundant '?' in path 2019-04-27 08:22:08 +03:00
Tommi Reiman
a0d833e645 0.3.1 2019-03-18 08:27:25 +02:00