Tommi Reiman
35ff62a1da
Fix expand, fixes #201
2019-01-14 10:07:16 +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
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
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
d6d2ee478c
r/routes & r/compiled-routes
2018-07-18 12:17:16 +03:00
Tommi Reiman
1923f2d08e
handle query-parameters in reverse routing
2018-06-14 17:57:36 +03:00
Tommi Reiman
0cafb9639d
.
2018-06-06 10:34:23 +03:00
Tommi Reiman
7a544cd52d
Better handling of nil in routing
2018-06-06 10:34:23 +03:00
Tommi Reiman
d48515e084
Strip nil routes from all positions
2018-06-06 10:34:23 +03:00
Tommi Reiman
5ef30443ef
Initial take on IntoString
2018-03-20 16:30:53 +02:00
Tommi Reiman
54b24be28e
:params => :path-params
2018-02-01 16:23:44 +02:00
Tommi Reiman
07bcd2ea59
Cleanup
2017-12-31 11:34:13 +02:00
Tommi Reiman
293274fb68
implement catch-all params for segment-router
2017-11-24 18:58:48 +02:00
Tommi Reiman
e0786b73f0
Remove prefix-tree router as it's broken
2017-11-24 09:45:52 +02:00
Tommi Reiman
4490fc1685
Test the segment-router. prefix-tree fails on complex tests...
2017-11-24 09:42:53 +02:00
Tommi Reiman
5d7670de60
Welcome segment-router!
2017-11-24 09:01:05 +02:00
Tommi Reiman
2dd91d91d6
BREAKING: route :meta => :data
2017-11-18 12:47:16 +02:00
Tommi Reiman
8bde6aefa2
Test that different routers work correctly
2017-11-11 16:46:43 +02:00
Tommi Reiman
5d7786936c
prefix-tree-router!
2017-11-10 18:12:00 +00:00
Tommi Reiman
8afbbee813
fast-router -> single-static-path-router
2017-10-02 17:54:37 +03:00
Tommi Reiman
e9c0639914
Fast-router if only 1 static path.
...
* 200x faster on basic benchmark than the slowest one
2017-10-02 17:54:37 +03:00
Tommi Reiman
dc5768d3cd
Fix tests
2017-10-02 08:25:10 +03:00
Tommi Reiman
a2b04f0677
Cleanup
2017-10-02 08:05:42 +03:00
Tommi Reiman
8e2e0c07f6
Polish errors
2017-09-18 08:29:52 +03:00
Tommi Reiman
881fb240bc
IntoMiddleware is now any? => Middleware
...
Also, reitit/routes returns compiled results ftw!
2017-09-08 08:27:20 +03:00
Tommi Reiman
249a54f9bc
router-type => router-name
2017-09-08 08:17:45 +03:00
Tommi Reiman
4e22fd2f53
Allow middleware to be compiled ( fixes #26 )
...
Match :handler => :result
2017-08-30 08:14:06 +03:00
Tommi Reiman
dd6d0d5a1c
use linearrouter if all routes are wild
2017-08-22 13:10:39 +03:00
Tommi Reiman
3dc1cdfbe2
Welcome :mixed-router (-20% on rest-test) & custom routers
2017-08-22 13:10:39 +03:00
Tommi Reiman
066f5752c2
Return all conflicts for IO
2017-08-22 13:10:39 +03:00
Tommi Reiman
9701a51c5a
Routing -> Router, fix tests
2017-08-22 13:10:38 +03:00
Tommi Reiman
f5f1104826
Router option to handle conflicts
2017-08-22 13:10:38 +03:00
Tommi Reiman
851e35ef52
Validate routes for duplicates ( fixes #23 )
2017-08-22 13:10:38 +03:00
Tommi Reiman
853b7ac24b
Cleanup
2017-08-20 21:04:35 +03:00
Tommi Reiman
3e3f728c4e
reitit/options, reitit/router-type, reified protocols
2017-08-20 21:00:20 +03:00
Tommi Reiman
1ea6b55849
Testing LookupRouter perf, +20% with fast-assoc
2017-08-20 19:14:49 +03:00
Tommi Reiman
bc2706147c
PartialMatch & route-names
2017-08-19 16:04:13 +03:00
Tommi Reiman
038dfd11ae
Update README, fix NPE with match-by-name
2017-08-17 08:54:54 +03:00
Tommi Reiman
fe19b57b01
Ring simple-router & method-router
2017-08-14 09:42:12 +03:00
Tommi Reiman
93447fdc71
coerce & compile take opts, resolved in router
2017-08-14 09:42:12 +03:00
Tommi Reiman
a208f7df6c
Remove println
2017-08-14 09:42:12 +03:00
Tommi Reiman
0a58510dc2
Default compile get the :handler from meta
2017-08-13 14:40:46 +03:00
Tommi Reiman
5f1d6a61a6
Cleanup & fix perf test
2017-08-12 17:55:58 +03:00
Tommi Reiman
1835ffc681
Support route compilation ( fixes #14 )
...
* also, so docs
2017-08-12 17:50:21 +03:00
Tommi Reiman
08edbb9419
Route coercion, fixes #4
2017-08-11 16:02:08 +03:00