Commit graph

393 commits

Author SHA1 Message Date
Tommi Reiman
ae2337621f calf 2019-01-14 10:45:27 +02:00
Tommi Reiman
2a1fea2ccb Initial Java Trie 2019-01-14 10:45:27 +02:00
Tommi Reiman
35ff62a1da Fix expand, fixes #201 2019-01-14 10:07:16 +02:00
Tommi Reiman
408b30eaba Release 0.2.10 2018-12-30 17:48:27 +02:00
Tommi Reiman
2ec29b8f9d Polish docs 2018-12-30 16:53:15 +02:00
Tommi Reiman
8081fe1a49 0.2.10-alpha1 2018-12-27 16:45:33 +02:00
Tommi Reiman
998656a9ac Enchance docs 2018-12-27 16:01:31 +02:00
Tommi Reiman
f524459768
Merge pull request #197 from metosin/reitit-pedestal
Reitit pedestal
2018-12-26 15:48:43 +02:00
Tommi Reiman
8e0aaf7ae8 Reitit-pedestal 2018-12-26 15:43:26 +02:00
Tommi Reiman
7f4aa1bdcc Dev-middleware works with async + polished code 2018-12-22 13:48:47 +02:00
Tommi Reiman
48961c9ed4 quarantine-router 2018-12-22 10:37:18 +02:00
Tommi Reiman
260b167853 Decode path-params on match-by-name, fixes #192 2018-12-21 20:17:46 +02:00
Tommi Reiman
492d5e2f2b Segment-router doesn't allow empty path-parameters 2018-12-10 20:30:58 +02:00
Tommi Reiman
0e73b883ed 0.2.9 2018-11-21 16:03:09 +02:00
Heikki Hämäläinen
24c146a702 Add support for vector based specs in Swagger generation
This allows data specs to be in vectors as well as maps. Before the change data spec [{:foo string?}] would throw exception when generating Swagger.
2018-11-21 14:23:33 +02:00
Tommi Reiman
883a65acca Document the router options 2018-11-19 21:04:38 +02:00
Tommi Reiman
dd6b07aa0f Release 0.2.8 2018-11-18 22:31:13 +02:00
Tommi Reiman
ffc36fce36 Support composable transformations of mw/interceptor chain
* fixes #167
2018-11-18 22:19:30 +02:00
Tommi Reiman
37cb99a13e Expose spec problems to error handlers 2018-11-17 20:50:04 +02:00
Miloslav Nenadal
13141027ee Support swagger with async ring 2018-11-17 11:11:55 +01:00
Tommi Reiman
02308b582d Interceptors diff context, not request 2018-11-11 22:31:02 +02:00
Tommi Reiman
4bfafaffec Diff printing middleware & interceptors 2018-11-11 22:23:51 +02:00
Tommi Reiman
a205d14afc Update to 0.2.7 with new spec-tools 2018-11-11 22:03:16 +02:00
Tommi Reiman
69592c0f68 Bump up top 0.2.6 2018-11-09 15:41:13 +02:00
Miikka Koskinen
1a13a24224 In ClojureScript, satisfies? is a macro
Thus `partial` can't be used with it.
2018-11-08 10:00:57 +02:00
Miikka Koskinen
65886c190f Do not use cljs.string/replace-all, it's private
The 1.10.439 release of compiler complains about it. Fixes #169.
2018-11-08 10:00:23 +02:00
Tommi Reiman
1623d001d1 Link to original source files 2018-11-04 20:55:27 +02:00
Tommi Reiman
48318b8793 Fix to if-some as the docs say 2018-11-04 20:54:52 +02:00
Tommi Reiman
9ce898a0b4 3x faster default path-parameter decoding 2018-11-04 09:57:32 +02:00
Hannu Hartikainen
6a7fb095cb Support stripping multiple slashes
One inspiration for stripping/adding slashes automatically in reitit was
https://github.com/julienschmidt/httprouter which can handle any number
of slashes. Make the implementation a bit better by stripping as many
slashes as there are.

This still doesn't support redirecting from a multiple-slash URI to a
single-slash URI. That could be handled as a special case, but in the
end I think the correct solution would be to convert both the router and
request URIs to a canonical form before matching. Then the question of
slashes is just a question of formatting.
2018-10-31 09:48:13 +02:00
Tommi Reiman
fdbab455bd 0.2.5 2018-10-30 20:25:14 +02:00
Tommi Reiman
2a08ba2c98 Polish code 2018-10-30 19:51:19 +02:00
Unknown
b6e8a9d579 Add 0-ary version 2018-10-30 23:48:12 +09:00
Unknown
c8b2aa7bc4 Fix incorrect request key
It's :request-method not :method
2018-10-30 23:22:38 +09:00
Unknown
6c599f8862 Merge branch 'master' into trailing-slash 2018-10-30 23:10:23 +09:00
Unknown
820e13cffb Use status 301 and 308 2018-10-30 10:16:30 +09:00
Unknown
875934360e Add trailing slash handler 2018-10-29 10:10:22 +09:00
Unknown
46254975d9 Undo ensure-slash 2018-10-29 09:11:52 +09:00
Tommi Reiman
0095aece21 Router is injected into request in the default branch
* releated to #159
2018-10-28 18:20:35 +02:00
Unknown
33582b4c1c Strip slash instead
Also fix the only failing test
2018-10-28 18:22:41 +09:00
Unknown
2ba01028a0 Remove unnecessary let 2018-10-28 16:28:12 +09:00
Unknown
a8d6b32389 Use ensure-path for matching 2018-10-28 16:21:15 +09:00
Unknown
8d4c591f96 Use ensure-slash at compilation 2018-10-28 16:21:03 +09:00
Unknown
e2e96e8f1e Add ensure-slash function 2018-10-28 16:20:45 +09:00
Tommi Reiman
69aeb9adcc Release 0.2.4 2018-10-21 20:37:35 +03:00
Tommi Reiman
17c27eb732 Remove generated names from Data-Specs 2018-10-21 20:36:53 +03:00
Tommi Reiman
cb14cf017a Update to spec-tools 0.8.0-SNAPSHOT 2018-10-21 20:06:28 +03:00
Tommi Reiman
5046aebec8 Allow any kind of model 2018-10-16 20:25:43 +03:00
Unknown
6322bb99f1 Resolve reflection warnings 2018-10-16 22:51:43 +09:00
Tommi Reiman
a77a583c09
Merge pull request #155 from valerauko/resource-404
Custom handler for resource 404
2018-10-16 14:58:16 +03:00
Vale
21c888b8bc Update docstring 2018-10-10 13:57:59 +09:00
Vale
e84b25d4ac Custom handler for resource 404 2018-10-10 13:57:51 +09:00
Tommi Reiman
52eeea3c99 Allow any keys in paramters, related to #145 2018-09-26 16:28:26 +03:00
Tommi Reiman
f5ee149929 Release 0.2.3 2018-09-24 20:51:43 +03:00
Tommi Reiman
b015eec2a5 for http-router too 2018-09-24 20:21:53 +03:00
Tommi Reiman
a620ec5999 Set Allow-header on default-options-handler 2018-09-24 20:19:42 +03:00
Tommi Reiman
f19aae6e77 fix #150 2018-09-23 16:42:45 +03:00
Tommi Reiman
da1cbf7121 Generate options-endpoints for ring by default 2018-09-23 10:52:17 +03:00
Tommi Reiman
158695d47b Support for top-level middleware in reitit-ring
See #143
2018-09-22 21:42:01 +03:00
Tommi Reiman
d81f20ae79 0.2.2 2018-09-09 22:29:00 +03:00
Tommi Reiman
676643f2e5 reitit-interceptors into reitit bundle 2018-09-07 23:09:08 +03:00
Tommi Reiman
7ecc2178c5 remove :compile key from compiled interceptors 2018-09-07 23:08:22 +03:00
Tommi Reiman
5d9d2a4e0a fix muuntaja interceptor 2018-09-07 23:08:05 +03:00
Tommi Reiman
57bcf2ab44 parameters-middleware & interceptor 2018-09-07 23:07:55 +03:00
Tommi Reiman
08349e61df multipart interceptor 2018-09-07 23:07:38 +03:00
Tommi Reiman
ca02680e2d exceptions 2018-09-07 20:04:08 +03:00
Tommi Reiman
de3fc480b4 muuntaja 2018-09-07 19:50:44 +03:00
Tommi Reiman
3d611d6cdb muuntaja-interceptors 2018-09-07 19:50:10 +03:00
Juho Teperi
98707902ea Add :scm tags for clojars commit link 2018-09-04 19:21:07 +03:00
Tommi Reiman
fa90d12eb8 0.2.1 with updated deps 2018-09-04 18:15:23 +03:00
Tommi Reiman
ac86d550b5 0.2.0 2018-09-03 19:44:59 +03:00
Tommi Reiman
2c51f051de 0.2.0-alpha1 2018-09-02 17:52:19 +03:00
Tommi Reiman
8cd06c2bfb drop create- from interceptors 2018-09-02 17:30:43 +03:00
Tommi Reiman
08b2fc7bfd fix docs for coerce! fixes #131 2018-08-31 15:26:17 +03:00
Tommi Reiman
e4eae4f3b2 cleanup 2018-08-31 15:17:51 +03:00
Tommi Reiman
07acbb275f Pedestal-sample 2018-08-31 10:50:00 +03:00
Tommi Reiman
9fc8710cad inline lookup-structs 2018-08-31 10:49:48 +03:00
Juho Teperi
d7c025d912 Fix FragmentHistory -stop method 2018-08-27 14:23:11 +03:00
Juho Teperi
b99e25ef4f Clean frontend routing docstrings 2018-08-27 14:23:11 +03:00
Tommi Reiman
a68cafe5ce intercerptors with cps-ring 2018-08-25 14:21:11 +03:00
Tommi Reiman
3e659a2b8b more tests 2018-08-25 13:30:54 +03:00
Tommi Reiman
fd8985fd75 pass-through function interceptors 2018-08-25 13:30:54 +03:00
Tommi Reiman
c1a747857f reitit-sieppari & small fixes 2018-08-25 13:30:54 +03:00
Tommi Reiman
044c0d6163 http-router 2018-08-25 13:28:44 +03:00
Tommi Reiman
20fa00beaa public 2018-08-25 13:28:44 +03:00
Tommi Reiman
bd844bd816 http.coercion & http.spec
* TODO: need tests
2018-08-25 13:28:44 +03:00
Tommi Reiman
60f10cdc01 remove interceptors in favor of Sieppari 2018-08-25 13:28:44 +03:00
Tommi Reiman
5e7be28eb7 fn -> handler in interceptors 2018-08-25 13:28:44 +03:00
Tommi Reiman
59cbb25688 initial http-handler 2018-08-25 13:28:44 +03:00
Tommi Reiman
8603224546 docs 2018-08-25 13:28:44 +03:00
Juho Teperi
2900e96337
Merge pull request #125 from metosin/frontend-fragment
Frontend fixes
2018-08-23 10:12:46 +03:00
Juho Teperi
adfba578ca
Merge pull request #126 from metosin/frontendrouter
reitit.frontend/router
2018-08-23 10:07:09 +03:00
Juho Teperi
82ad1fa6cc Clean duplicate require 2018-08-23 09:58:57 +03:00
Juho Teperi
e42c309144 Read query string in HTML5 router 2018-08-23 09:58:57 +03:00
Juho Teperi
0bd1b94274 Store uncoerced query-params in frontend match
This matches path-params and fragment.
2018-08-23 09:58:55 +03:00
Tommi Reiman
7b3aa5e631 better docs 2018-08-22 21:51:02 +03:00
Tommi Reiman
7cc8f84297 better docs 2018-08-22 19:39:04 +03:00
Tommi Reiman
5c835c5ad2 reitit.frontend/router 2018-08-22 18:56:31 +03:00
Tommi Reiman
c1d8ec99d8 muuntaja 2018-08-10 08:09:40 +03:00
Matthew Davidson
75f5e198e4 Merge master into url-decode-path-params 2018-08-07 21:14:35 -04:00
Matthew Davidson
ec051a0c9d Decode %-encoded URL path params
Also adds utility fn map-kv which is convenient for en/decoding
both maps (like path-params) and vectors (like path parts)

Converts path-params fn to use map-kv
2018-08-07 21:13:40 -04:00
Matthew Davidson
35656c3da6 Extract lookup struct-generating code 2018-08-07 21:10:33 -04:00
Tommi Reiman
df5d7fcad6 Fix Schema Upload explain 2018-08-07 11:40:05 +03:00
Matthew Davidson
c81dad4f94 Merge master into url-decode-path-params 2018-08-05 16:36:23 -04:00
Tommi Reiman
282fa7f012 Read :headers from request :headers. not :header-params 2018-08-05 23:00:59 +03:00
Tommi Reiman
af2d792290 Allows raw specs as parameters 2018-08-05 22:53:43 +03:00
Tommi Reiman
0d165e799f fix docs 2018-08-03 13:31:21 +03:00
Tommi Reiman
cc00ddb97c exception mw docs 2018-08-02 16:12:32 +03:00
Tommi Reiman
9fdb495ab2 :produces and :consumes can be overridden 2018-08-02 16:12:32 +03:00
Tommi Reiman
9330ee3bc5 multipart robusta 2018-08-02 16:12:32 +03:00
Tommi Reiman
4ea025dc83 more robust apidocs 2018-08-02 16:12:32 +03:00
Tommi Reiman
e879df54da case 2018-08-02 16:12:32 +03:00
Tommi Reiman
2c476177be Multipart-params revisited 2018-08-02 16:12:32 +03:00
Tommi Reiman
2ab54a1b99 Exception middleware revisited 2018-08-02 16:12:32 +03:00
Tommi Reiman
62cdfa2c52 cleanup multipart 2018-08-02 16:12:32 +03:00
Tommi Reiman
8156922ebc fix tests 2018-08-02 16:12:32 +03:00
Tommi Reiman
0f384c2b52 tune exceptions-middleware 2018-08-02 16:12:32 +03:00
Tommi Reiman
1eef610577 better names 2018-08-02 16:12:32 +03:00
Tommi Reiman
3a8eae6324 all muuntaja formats wrapped 2018-08-02 16:12:32 +03:00
Tommi Reiman
5c0cf19ef1 Muuntaja is a def 2018-08-02 16:12:32 +03:00
Tommi Reiman
805cb94d33 exception middleware tests 2018-08-02 16:12:32 +03:00
Tommi Reiman
b524736776 clj only 2018-08-02 16:12:32 +03:00
Tommi Reiman
fa639fc530 -alpha 2018-08-02 16:12:32 +03:00
Tommi Reiman
ed385afe5a add specs 2018-08-02 16:12:32 +03:00
Tommi Reiman
b54ee1a86b read encodes and decodes from Muuntaja! 2018-08-02 16:12:32 +03:00
Tommi Reiman
10ccbb72e3 wip 2018-08-02 16:12:32 +03:00
Tommi Reiman
230717ba65 double fast byte formatting 2018-08-02 16:06:34 +03:00
Tommi Reiman
7389838b59 mention sources 2018-08-01 19:51:54 +03:00
Tommi Reiman
bf3fb64088 query is a form-param 2018-08-01 19:43:58 +03:00
Tommi Reiman
682dd05568 tune perf 2018-08-01 19:28:52 +03:00
Tommi Reiman
6c23a5562a form-encode & form-decode 2018-08-01 18:57:17 +03:00
Tommi Reiman
303b124973 format 2018-08-01 18:56:58 +03:00
Tommi Reiman
0b4d1d2ee1 url-encode & url-decode 2018-08-01 18:08:03 +03:00
Tommi Reiman
bb4f861f00 0.2.0-SNAPSHOT 2018-07-28 12:07:16 +03:00
Tommi Reiman
604291f98e Better interceptor error messages 2018-07-28 12:05:12 +03:00
Tommi Reiman
8321589f04 Polish docs 2018-07-28 12:01:12 +03:00
Tommi Reiman
6c47b5fa94 Welcome Interceptor registry! 2018-07-27 15:14:10 +03:00
Tommi Reiman
94431352b8 Welcome Middleware registry! 2018-07-27 15:14:00 +03:00
Tommi Reiman
bf3007bfe1 Support for sequential child routes 2018-07-26 10:07:49 +03:00
Juho Teperi
ba10470fbb
Merge pull request #118 from metosin/frontend-routing-3
Frontend routing 3
2018-07-24 14:02:53 +03:00
Juho Teperi
08156f6a6d Replace Closure Html5History
- Create History protocol and two implementations: FragmentHistory and
Html5History
- API follows now Html5 history, i.e. push-state and replace-state
- path-prefix is removed
2018-07-24 13:58:22 +03:00
Matthew Davidson
f6054a7c40 Add URL-decoding support
Enables matching URLs with %-encoded chars, and decodes path params.
Currently Reitit cannot handle %-encoded paths, even though they can be
quite common (like `/search/my random search string`)

E.g.:
Successfully match `/space in path` to `/space%20in%20path`
Match `/path/:param1` to `/path/foo%20bar` and see
`:param1` => `"foo bar"` in path params

Does not apply %-decoding to routes, only URLs
Does not guarantee decoding '+' into a space. (Java's URLDecoder
supports it, but it shouldn't for URL path part.)
2018-07-23 00:53:53 -04:00
Tommi Reiman
16856749b1 handle name conflicts in router 2018-07-21 09:48:07 +03:00
Tommi Reiman
8b6bc9bb80 [:swagger :id] defaults to :reitit.swagger/default 2018-07-21 09:38:44 +03:00
Tommi Reiman
d6d2ee478c r/routes & r/compiled-routes 2018-07-18 12:17:16 +03:00
Tommi Reiman
5ded652147 coercion/coerce! can be used now 2018-07-17 12:41:29 +03:00
Tommi Reiman
4bbc1564ae cleanup imports 2018-07-17 12:41:19 +03:00
Juho Teperi
d90b7cff04
Merge pull request #108 from metosin/frontend-routing-easy
Add easy-simple wrapper over frontend router
2018-07-17 10:21:09 +03:00
Tommi Reiman
7514d1b263 rename extract-request-format 2018-07-16 16:01:34 +03:00
Tommi Reiman
346fbad775 Fix #109 2018-07-16 09:34:52 +03:00