Joel Kaasinen
1d4473e1f4
Merge pull request #772 from metosin/fix/768-ancestors
...
fix create-exception-middleware for hierarchical keywords
2026-01-09 09:35:14 +02:00
Joel Kaasinen
75faf709e2
fix: create-exception-middleware for deep hierarchies
...
The code was not finding the closest ancestor to the error type,
because `ancestors` is not ordered. Now the code does a DFS to find a
nearest ancestor. If the nearest ancestor is non-unique, an arbitrary
one is picked.
2026-01-09 09:26:21 +02:00
Joel Kaasinen
2c87d90bda
fix: create-exception-middleware for hierarchical keywords
...
Previously, the code was searching among the descendants, not the
ancestors, of the error type for an error handler. The test also got
this wrong, perhaps due to a mistake in the parameter order of derive.
2026-01-09 08:37:49 +02:00
Mathieu Lirzin
8721c7ae37
refactor: Implement all Executor protocol method
2026-01-01 18:40:21 +01:00
Mathieu Lirzin
e3180e4d6a
refactor: Reify protocol instead of interface
2026-01-01 18:40:21 +01:00
Mathieu Lirzin
e6137cb47a
refactor: Remove redundant let
2026-01-01 18:40:21 +01:00
Mathieu Lirzin
3191d9ee59
refactor: Remove unneeded and
2026-01-01 18:40:21 +01:00
Mathieu Lirzin
579eb28a50
refactor: Remove redundant str calls
2026-01-01 18:40:21 +01:00
Mathieu Lirzin
c113bded4e
refactor: Remove unused required namespaces
2026-01-01 18:40:17 +01:00
Joel Kaasinen
eb06404f1e
feat: fold malli :humanize-opts into :options
2025-11-14 14:06:43 +02:00
ertugrulcetin
a4576cc622
feat: support humanize options
2025-11-14 13:15:50 +02:00
Joel Kaasinen
2ce9850de6
doc: document allow-symlinks? option
...
... for create-resource-handler and create-file-handler
fixes #483
2025-10-31 11:43:25 +02:00
Joel Kaasinen
9b26d5c0fd
Merge pull request #763 from metosin/remove-dead-code
...
refactor: remove unused reitit.dependency ns
2025-10-31 10:44:38 +02:00
Joel Kaasinen
342bae3ffe
refactor: remove unused reitit.dependency ns
...
leftover from #33 #210
2025-10-30 15:32:27 +02:00
Joel Kaasinen
7fb9c27e46
feat: use request Content-Type or :muuntaja/content-type to coerce
...
Previously, `extract-response-format-default` was only looking at
(-> request :muuntaja/response :format). This led to wrong behaviour
when there were separate schemas for separate response content types
and an explicitly picked content-type for the response.
2025-10-29 10:54:10 +02:00
Joel Kaasinen
f4da07c222
Release 0.9.2
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-28 14:57:54 +02:00
Joel Kaasinen
152c598858
Release 0.9.2-rc1
2025-10-24 15:52:47 +03:00
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
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
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
4e572e86d6
Merge remote-tracking branch 'origin/master' into fix/top-level-mw-registry
2025-10-13 08:50:38 +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
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
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
210f20e714
Release 0.9.1
2025-05-27 14:04:31 +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
Juho Teperi
b9cef492f8
Release 0.9.0
2025-05-23 10:47:21 +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
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
9534f6df8b
feat: avoid duplicated :description for openapi parameters
2025-04-25 15:04:51 +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
Joel Kaasinen
75a5e816a9
reindent
2025-04-08 08:15:59 +03:00
Eva Ogbe
e16c95c5b3
Add mime-types option to static handler
2025-04-07 20:35:58 -04:00
Juho Teperi
91fa60324f
Use same javac options for reiti-core project.clj
2025-03-28 16:13:47 +02:00
Juho Teperi
6dd9cb1b7c
Prepare release 0.8.0
2025-03-28 16:06:12 +02:00
Loukas Agorgianitis
3342e77538
Change default index-redirect? value to false
...
Signed-off-by: Loukas Agorgianitis <loukas@agorgianitis.com>
2025-03-28 15:14:15 +02:00
Loukas Agorgianitis
c2feb5b983
Add option to disable index files served on paths that are not directories
...
Signed-off-by: Loukas Agorgianitis <loukas@agorgianitis.com>
2025-03-28 13:49:36 +02:00
Loukas Agorgianitis
f50feff63c
Add option to allow serving index files without redirect
...
Signed-off-by: Loukas Agorgianitis <loukas@agorgianitis.com>
2025-03-25 23:07:36 +02:00
Joel Kaasinen
d5d46d5b0b
Merge pull request #715 from filipesilva/coerce-response-int
...
fix: throw if response status is not int
2025-02-25 12:49:23 +02:00
Filipe Silva
f0fc440425
fix: throw if response status is not int
...
Fix #667
2025-02-25 10:12:47 +00:00
Juho Teperi
e5483cb1fc
Release 0.8.0-alpha1
2025-01-31 14:06:05 +02:00
Juho Teperi
5ca22193d0
Use defined :string :default transformer for query-string-coercer
2025-01-31 09:39:19 +02:00
Juho Teperi
4eb29d3ed9
Extend frontend docs
2025-01-28 15:46:37 +02:00
Juho Teperi
dfc5a4ef67
Remove todo comments
2025-01-28 15:12:46 +02:00
Juho Teperi
7e9116f77e
Simplify Malli coercion for query-params to only encode
2025-01-28 15:09:31 +02:00