Commit graph

84 commits

Author SHA1 Message Date
Tommi Reiman
3f265888a4 cleanup 2023-05-21 20:16:45 +03:00
Tommi Reiman
650ff3d6b3 . 2022-03-10 15:23:07 +02:00
Tommi Reiman
f9841363c5 faster impl, removes all intermediate steps + cleanup 2022-03-10 14:21:39 +02:00
Tommi Reiman
1e5fb601da fix #538 2022-03-10 13:42:53 +02:00
Tommi Reiman
f3dee769fb format-ns 2022-02-14 16:59:20 +02:00
Tommi Reiman
bdcb1eb5b1 clean-ns 2022-02-12 22:35:27 +02:00
Tommi Reiman
5d4c886d35 format 2022-02-12 22:34:26 +02:00
Miikka Koskinen
9160aa0f2b Add a test for /{foo}.html style routes
Just like path `///` would not match `/{foo}/`, `/..html` does not match
`/{foo}.html`.
2021-10-06 20:42:09 +03:00
Juho Teperi
c4e84c2875 Add clj-kondo and fix most linting warnings 2020-03-05 13:32:48 +02:00
Ilmo Raunio
e092001568 Add test cases to check for deep paths 2019-11-13 22:49:21 +02:00
Ilmo Raunio
8a86701902 Allow path conflict resolution with :conflicting 2019-11-13 22:49:21 +02:00
Tommi Reiman
c9281f0e89 support :parameter-syntax option in router 2019-06-09 20:29:03 +03:00
Valtteri Harmainen
f7332d3bc4 Fix empty query params map resulting in redundant '?' in path 2019-04-27 08:22:08 +03:00
Tommi Reiman
5b19298803 CatchAll matcher catch with empty parameter, fixes #230 2019-03-06 19:49:27 +02:00
Tommi Reiman
850b47134a Don't reorder routes with :linear-router, fixes #229 2019-03-06 19:24:16 +02:00
Tommi Reiman
a2843dd097 New reitit-dev module for pretty errors 2019-03-03 20:54:21 +02:00
Tommi Reiman
aea8a8f2d5 Emoji routing 2019-02-28 12:12:28 +02:00
Tommi Reiman
d68e1b81fb FIx cljs, welcome reitit.exception! 2019-02-28 12:11:05 +02:00
Tommi Reiman
8abca179d0 Test unicode chars 2019-02-28 12:11:05 +02:00
Tommi Reiman
ae1a8f7919 Fail fast with multiple terminators. 2019-02-28 12:11:05 +02:00
Tommi Reiman
df38a0de05 Test bracket syntax + fix trie conflicting rules 2019-02-28 12:11:05 +02:00
Tommi Reiman
907e0b5c97 dead code 2019-02-28 12:11:05 +02:00
Tommi Reiman
6f902d118a Free from the regex! 2019-02-28 12:10:01 +02:00
Tommi Reiman
ce80f83319 :segment-router -> :trie-router 2019-02-28 12:10:01 +02:00
Tommi Reiman
b2cd7f37e2 Fix #209 2019-01-26 16:17:13 +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
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