Joel Kaasinen
d2f44b8015
fix: match-by-name! should throw when match-by-name is PartialMatch
...
If a path param was nil, match-by-name (via impl/path-for) was
treating the parameter as missing, but match-by-name!
(via impl/throw-on-missing-path-params) was treating it as present.
That is:
(reitit/match-by-name router :page {:id "1"}) ;; => Match
(reitit/match-by-name router :page) ;; => PartialMatch
(reitit/match-by-name router :page {:id nil}) ;; => PartialMatch
(reitit/match-by-name! router :page {:id "1"}) ;; => Match
(reitit/match-by-name! router :page) ;; => ExceptionInfo: missing path-params for route /pages/:id -> #{:id}
(reitit/match-by-name! router :page {:id nil}) ;; => nil !!!
fixes #758
2025-10-24 09:58:03 +03:00
Joel Kaasinen
ef9dd495be
doc: update CHANGELOG.md
testsuite / Clojure (Java 11) (push) Has been cancelled
testsuite / Clojure (Java 17) (push) Has been cancelled
testsuite / Clojure (Java 21) (push) Has been cancelled
testsuite / ClojureScript (push) Has been cancelled
testsuite / Lint cljdoc.edn (push) Has been cancelled
testsuite / Check cljdoc analysis (push) Has been cancelled
2025-10-13 15:41:31 +03:00
Joel Kaasinen
9509e40dae
Merge pull request #756 from metosin/feat/defaults-for-optional-keys
...
setting default values for optional keys in malli coercion
2025-10-13 15:38:45 +03:00
Joel Kaasinen
67918a3f9c
feat: reuse :default-values config key instead of adding a new one
2025-10-13 15:18:29 +03:00
Joel Kaasinen
45951aa82e
doc: update CHANGELOG.md
testsuite / Clojure (Java 11) (push) Waiting to run
testsuite / Clojure (Java 17) (push) Waiting to run
testsuite / Clojure (Java 21) (push) Waiting to run
testsuite / ClojureScript (push) Waiting to run
testsuite / Lint cljdoc.edn (push) Waiting to run
testsuite / Check cljdoc analysis (push) Waiting to run
2025-10-13 09:17:33 +03:00
Joel Kaasinen
1cdca2e3d5
Merge pull request #739 from Ramblurr/fix/top-level-mw-registry
...
Apply router options to top-level middleware chain
2025-10-13 09:14:36 +03:00
Joel Kaasinen
2f22838820
doc: using middleware from registry at ring-handler level
2025-10-13 09:09:11 +03:00
Joel Kaasinen
d809291553
test: ring-handler middleware from registry inside router
2025-10-13 09:01:21 +03:00
Joel Kaasinen
4e572e86d6
Merge remote-tracking branch 'origin/master' into fix/top-level-mw-registry
2025-10-13 08:50:38 +03:00
Joel Kaasinen
10700e0ca2
Merge pull request #757 from metosin/doc/multipart-middleware-order
...
testsuite / Clojure (Java 11) (push) Has been cancelled
testsuite / Clojure (Java 17) (push) Has been cancelled
testsuite / Clojure (Java 21) (push) Has been cancelled
testsuite / ClojureScript (push) Has been cancelled
testsuite / Lint cljdoc.edn (push) Has been cancelled
testsuite / Check cljdoc analysis (push) Has been cancelled
doc: multipart-middleware should be after coerce-request-middleware
2025-10-10 13:04:57 +03:00
Joel Kaasinen
3e0f1d3188
doc: multipart-middleware should be after coerce-request-middleware
2025-10-10 12:50:24 +03:00
Joel Kaasinen
f26dc1ab19
feat: :default-values-for-optional-keys for malli coercion
2025-10-10 08:51:05 +03:00
Joel Kaasinen
01766ee211
doc: update CHANGELOG.md
testsuite / Clojure (Java 11) (push) Waiting to run
testsuite / Clojure (Java 17) (push) Waiting to run
testsuite / Clojure (Java 21) (push) Waiting to run
testsuite / ClojureScript (push) Waiting to run
testsuite / Lint cljdoc.edn (push) Waiting to run
testsuite / Check cljdoc analysis (push) Waiting to run
2025-10-09 15:30:55 +03:00
Joel Kaasinen
79627aea7b
Merge pull request #755 from metosin/feat/multimethod-as-handler
...
feat: allow multimethods as :handlers in validation
2025-10-09 15:26:37 +03:00
Joel Kaasinen
4d284385ec
Merge pull request #754 from metosin/openapi-error-reporting
...
feat: better error reporting while building openapi docs
2025-10-09 15:26:27 +03:00
Joel Kaasinen
31fa0376cf
feat: better error reporting while building openapi docs
...
Include the path and method when openapi generation goes wrong.
2025-10-09 15:19:56 +03:00
Joel Kaasinen
05bc331397
feat: allow multimethods as :handlers in validation
...
fixes #749
2025-10-07 15:50:51 +03:00
Juho Teperi
7520d20f12
No need to use specific Java version for releases
2025-05-27 14:35:50 +03:00
Juho Teperi
210f20e714
Release 0.9.1
2025-05-27 14:04:31 +03:00
Juho Teperi
aad054ef39
Merge pull request #743 from metosin/fix-responses
...
fix: response coercion for unlisted http statuses, when no default
2025-05-27 14:03:20 +03:00
Joel Kaasinen
653db7efa3
doc: update CHANGELOG.md
2025-05-27 13:08:59 +03:00
Joel Kaasinen
5025ca3a75
fix: response coercion for unlisted http statuses, when no default
...
fixes #742
2025-05-27 12:09:38 +03:00
Joel Kaasinen
55c30af979
Merge pull request #741 from metosin/readme-example
...
doc: improve middleware docs & examples in README.md & elsewhere
2025-05-26 12:56:11 +03:00
Joel Kaasinen
9ee8e364f3
doc: add a reason to use top-level mw
2025-05-26 10:27:00 +03:00
Joel Kaasinen
ad9cd31168
doc: mention one more reason to use top-level route data for mw
2025-05-26 10:21:40 +03:00
Joel Kaasinen
99267d2943
doc: mention that coercion uses top-level-route-data-middleware
2025-05-26 10:14:14 +03:00
Joel Kaasinen
ecf22d5c4a
doc: elaborate on different ways of setting middleware
2025-05-26 10:06:36 +03:00
Joel Kaasinen
1803643f1f
doc: link to ring.md#middleware from data_driven_middleware.md
...
Data Driven Middleware is the first doc title with "Middleware" in it,
so people will land in it while trying to figure out the basics of
middleware.
2025-05-26 08:52:05 +03:00
Joel Kaasinen
f247751409
doc: remove misleading link to open issue
...
the factoring hasn't happened, so no reason to talk about issue #134
in the docs until it does
2025-05-26 08:45:48 +03:00
Joel Kaasinen
48fdb692ef
doc: improve ring example in README.md
...
- format-response-middleware wasn't doing anything, use
format-middleware instead as that's what the users usually want
- add exception handling
- document middleware stack a bit
2025-05-26 08:44:53 +03:00
Juho Teperi
b9cef492f8
Release 0.9.0
2025-05-23 10:47:21 +03:00
Joel Kaasinen
524d0d4d57
Merge pull request #740 from metosin/openapi-multi-example
...
doc: add :multi, :enum etc to examples/openapi
2025-05-13 09:18:20 +03:00
Joel Kaasinen
20c28ecc7c
doc: add :multi, :enum etc to examples/openapi
2025-05-13 08:23:02 +03:00
Joel Kaasinen
3793a7b23b
Merge pull request #732 from metosin/unslash
...
malli now uses . instead of ~1 in json-schema/swagger $refs
2025-05-12 14:59:03 +03:00
Joel Kaasinen
ef64fc50b8
doc: add note about malli update to CHANGELOG.md
2025-05-12 14:39:38 +03:00
Joel Kaasinen
15987d9952
test: bump openapi-schema-validator
2025-05-12 14:28:19 +03:00
Joel Kaasinen
2bf8aa98a7
test: malli now uses . instead of ~1 in json-schema/swagger $refs
...
update our assertions accordingly
2025-05-12 14:28:19 +03:00
Joel Kaasinen
832d9ebe95
deps: bump malli
2025-05-12 14:28:13 +03:00
Joel Kaasinen
4b7a596ece
doc: update CHANGELOG.md
2025-05-05 11:28:36 +03:00
Casey Link
0454e8914f
Apply router options to top-level middleware chain
...
Middleware supplied to the `ring-handler` function could not be resolved
from the middleware registry, because the router options (which contain
the registry) were not being propagated.
Fixes #738
2025-04-29 14:52:09 +02:00
Joel Kaasinen
7a77c9f86b
Merge pull request #735 from metosin/response-default
...
Resurrect :responses :default
2025-04-29 09:30:02 +03:00
Joel Kaasinen
a8b4bc0d2d
feat: rework & document response coercer defaulting rules
2025-04-28 10:01:09 +03:00
Joel Kaasinen
9db58f21dc
doc: update CHANGELOG.md
2025-04-25 15:15:11 +03:00
Joel Kaasinen
9797725ae8
Merge pull request #714 from mokshasoft/openapi3-parameter-deprecation
...
Place the openapi deprecation tag directly under parameters
2025-04-25 15:13:26 +03:00
Joel Kaasinen
3c6139950c
doc: deprecated openapi parameters in docs & example
2025-04-25 15:07:52 +03:00
Joel Kaasinen
9534f6df8b
feat: avoid duplicated :description for openapi parameters
2025-04-25 15:04:51 +03:00
Joel Kaasinen
a390180975
test: add description and deprecated to openapi-test
2025-04-25 15:03:40 +03:00
Joel Kaasinen
f038fe1941
test: corner cases in how :responses :default gets applied
2025-04-24 09:31:27 +03:00
Joel Kaasinen
8058cecae0
doc: document :responses :default
2025-04-11 11:45:12 +03:00
Joel Kaasinen
dd835e73a8
feat: allow :default response status code again
...
it is an old feature, but didn't have a test, so it was broken by #715
also add a test so we don't break it again
2025-04-11 10:30:52 +03:00