Commit graph

174 commits

Author SHA1 Message Date
Tommi Reiman
433cf9102d . 2019-01-15 22:05:00 +02:00
Tommi Reiman
393049a772 Oh My Java: safe guard against index overflows. 2019-01-14 21:08:20 +02:00
Tommi Reiman
9e58f93cc9 test all calfpath perf 2019-01-14 20:41:58 +02:00
Tommi Reiman
b847af4ae7 Fix segment tests 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
2ec29b8f9d Polish docs 2018-12-30 16:53:15 +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
ed1c2b0c4f Add coercion tests for vector data-specs, 0.2.9 2018-11-21 16:02:04 +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
ffc36fce36 Support composable transformations of mw/interceptor chain
* fixes #167
2018-11-18 22:19:30 +02:00
Tommi Reiman
cca55c5bd5 Add regression test for swagger-spec 3arity handler 2018-11-17 21:25:40 +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
763440e41f Format code 2018-10-30 19:50:18 +02:00
Unknown
da29203cc8 Add tests for :strip and :both 2018-10-30 23:48:35 +09:00
Unknown
ad8384022c Add tests for the slash-redirect :add case 2018-10-30 23:23:13 +09:00
Tommi Reiman
45eab09d7a Fix tests 2018-10-28 20:19:40 +02:00
Tommi Reiman
0095aece21 Router is injected into request in the default branch
* releated to #159
2018-10-28 18:20:35 +02:00
Tommi Reiman
5046aebec8 Allow any kind of model 2018-10-16 20:25:43 +03:00
Unknown
a00798a0f5 Adjust tests to allow string keys 2018-10-16 22:57:33 +09:00
Tommi Reiman
a620ec5999 Set Allow-header on default-options-handler 2018-09-24 20:19:42 +03:00
Tommi Reiman
fb95a1e303 Test top-level handler override 2018-09-23 11:27:33 +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
ec8727394d Ensure that #145 works 2018-09-22 21:19:44 +03:00
Tommi Reiman
34827ccf1c variadic test, related to #142 2018-09-19 19:58:42 +03:00
Tommi Reiman
872f1dbbc4 fix interceptor tests 2018-09-07 23:35:55 +03:00
Tommi Reiman
a53981d597 test just clj with http 2018-08-25 15:14:37 +03:00
Tommi Reiman
a68cafe5ce intercerptors with cps-ring 2018-08-25 14:21:11 +03:00
Tommi Reiman
4d797d0b5d transform-test 2018-08-25 13:30:54 +03:00
Tommi Reiman
3e659a2b8b more tests 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
5e7be28eb7 fn -> handler in interceptors 2018-08-25 13:28:44 +03: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
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
4ea025dc83 more robust apidocs 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
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
6c23a5562a form-encode & form-decode 2018-08-01 18:57:17 +03:00
Tommi Reiman
0b4d1d2ee1 url-encode & url-decode 2018-08-01 18:08:03 +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
055a03c793 prepare 2018-07-27 15:10:02 +03:00
Tommi Reiman
bf3007bfe1 Support for sequential child routes 2018-07-26 10:07:49 +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