Commit graph

111 commits

Author SHA1 Message Date
Tommi Reiman
95ebdfa6a4 linear-router is backed by a segment-router 2019-01-17 08:13:25 +02:00
Tommi Reiman
75065b56e3 Public docs for reitit.segment 2019-01-14 16:38:45 +02:00
Tommi Reiman
3168747540 Fix cljs 2019-01-14 10:45:27 +02:00
Tommi Reiman
5079daa8f3 WIP 2019-01-14 10:45:27 +02:00
Tommi Reiman
93bcc5dad8 Trie -> SegmentTrie 2019-01-14 10:45:27 +02:00
Tommi Reiman
80dea6cfef Snappier Trie 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
2ec29b8f9d Polish docs 2018-12-30 16:53:15 +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
883a65acca Document the router options 2018-11-19 21:04:38 +02:00
Tommi Reiman
ffc36fce36 Support composable transformations of mw/interceptor chain
* fixes #167
2018-11-18 22:19:30 +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
Tommi Reiman
5046aebec8 Allow any kind of model 2018-10-16 20:25:43 +03:00
Tommi Reiman
52eeea3c99 Allow any keys in paramters, related to #145 2018-09-26 16:28:26 +03:00
Tommi Reiman
7ecc2178c5 remove :compile key from compiled interceptors 2018-09-07 23:08:22 +03:00
Tommi Reiman
08b2fc7bfd fix docs for coerce! fixes #131 2018-08-31 15:26:17 +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
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
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
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
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
4ea025dc83 more robust apidocs 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
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
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