Commit graph

355 commits

Author SHA1 Message Date
Daw-Ran Liou
c0a76c6648 Add :conflicting to route data spec 2020-10-19 03:02:18 +08:00
Tommi Reiman
8c3ad99276 0.5.7 2020-10-18 20:43:24 +03:00
Tommi Reiman
5e290db106 0.5.6 2020-09-26 16:08:34 +03:00
Tommi Reiman
43e1a520d6 0.5.5 2020-07-15 11:28:11 +03:00
Tommi Reiman
274d527d2f 0.5.4 (with latest malli) 2020-07-13 11:08:19 +03:00
Tommi Reiman
56cbd67abd 0.5.3 2020-07-09 22:06:04 +03:00
Tommi Reiman
e30e739a15 0.5.2 2020-05-27 08:32:38 +03:00
Tommi Reiman
e649ed22b9 New options for malli coercion 2020-05-26 08:09:35 +03:00
Tommi Reiman
50f0120e8c 0.5.1 2020-05-18 15:00:28 +03:00
Tommi Reiman
500a4cc809 0.5.0 2020-05-17 18:42:33 +03:00
Tommi Reiman
1b0cc0a100 Faster path conflict resolution, O(n2) -> O(n) 2020-04-27 08:38:27 +03:00
Tommi Reiman
b128a0f3db Run path-conflicting just once for quarantine router 2020-04-26 22:04:14 +03:00
Tommi Reiman
0d3a195cd8 Format 2020-04-26 21:28:08 +03:00
Tommi Reiman
f45f5859eb Fix reflection warning 2020-04-26 21:28:04 +03:00
Tommi Reiman
faaaedaa29 Enable quick creation of routers 2020-04-26 21:27:55 +03:00
Juho Teperi
c4e84c2875 Add clj-kondo and fix most linting warnings 2020-03-05 13:32:48 +02:00
Wanderson Ferreira
f7e4136e0e adding type hints to clean boxed operations with java.lang.Objects 2020-01-19 00:37:57 -03:00
Tommi Reiman
3ca0492244 0.4.2 2020-01-17 18:39:07 +02:00
Tommi Reiman
945fec23a9 0.4.1 2020-01-14 21:42:47 +02:00
Miikka Koskinen
1ad0141792 Release 0.4.0 2020-01-14 15:49:13 +02:00
Tommi Reiman
b651fac0b0 Use latest malli fixing visitors 2020-01-08 21:50:04 +02:00
Tommi Reiman
a7cd1cf398 response endoding, WIP: tests 2019-12-27 22:03:52 +02:00
Pauli Jaakkola
6d5bf64833 Implement encoding of multi-valued query params. 2019-12-02 15:33:55 +02:00
Ilmo Raunio
25728ae8f2 Use transducer per #329 review suggestion 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
c23f591283 0.3.10 2019-10-08 10:28:25 +03:00
Alexander Kiel
a19849fe58 Make Map Destructuring of Namespaced Keys more Beautiful
It's possible to put the :keys keyword in the namespace of the keys one likes to
destructure. With that one can use symbols in the vector again. One advantage of
having symbols is, that Cursive grays them out if not used. I found two
occurrences of unused destructured keys.
2019-07-13 17:02:41 +03:00
Tommi Reiman
2e85f44a7e 0.3.9 2019-06-16 20:20:49 +03:00
Tommi Reiman
dd7a01b1bc 0.3.8 2019-06-15 11:49:45 +03:00
Tommi Reiman
46897f3927 Update docs 2019-06-09 20:46:20 +03:00
Tommi Reiman
c9281f0e89 support :parameter-syntax option in router 2019-06-09 20:29:03 +03:00
Tommi Reiman
12543b1c30 0.3.7 2019-05-25 16:00:45 +03:00
Tommi Reiman
a314e06887 0.3.6 2019-05-23 14:37:58 +03:00
Tommi Reiman
568dbad3a3 0.3.5 2019-05-22 21:25:56 +03:00
Tommi Reiman
4178acde5f Make Trie$Match immutable 2019-05-22 21:10:51 +03:00
Tommi Reiman
60ee39bd53 Trie$Match is mutable, fixes #277 2019-05-22 16:39:37 +03:00
Tommi Reiman
3381fe34e5 0.3.4 2019-05-20 20:14:14 +03:00
Tommi Reiman
32fced15e8 Release 0.3.3 2019-05-16 07:03:17 +03:00
Tommi Reiman
7e7b57c913 Add ex-message shim 2019-05-16 06:51:10 +03:00
Tommi Reiman
ad0bc7e013 Better errors for route-data merge errors 2019-05-15 22:54:35 +03:00
Tommi Reiman
2e7729349e 0.3.2 2019-05-13 17:06:37 +03:00
Tommi Reiman
419dd24316 Route-data validation docs 2019-05-11 22:31:58 +03:00
Tommi Reiman
e70837b140
Merge pull request #263 from metosin/north
Closed spec validation demoed in Clojure/North (WIP)
2019-05-10 14:28:39 +03:00
Tommi Reiman
a9bdceeeb6 reitit.spec/wrap spec-tools.spec/closed 2019-05-01 22:40:44 +03:00
Tommi Reiman
c8eaa955c3 Revert fast params in a Trie 2019-05-01 22:40:44 +03:00
Tommi Reiman
1326d76936 Faster params in Trie 2019-05-01 22:40:44 +03:00
Tommi Reiman
68d68402d9 Fix Java Trie example 2019-05-01 22:40:44 +03:00
Tommi Reiman
674b60a124 spell-spec 2019-04-28 17:06:50 +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
a0d833e645 0.3.1 2019-03-18 08:27:25 +02:00
Tommi Reiman
d21dd03dfa 0.3.0 2019-03-17 14:22:15 +02:00
Tommi Reiman
72a0ad2a5b Push ns-records into user ns 2019-03-07 10:54:01 +02:00
Tommi Reiman
36634abd39 :reitit.trie/parameters option takes sequence of keys 2019-03-07 10:45:16 +02:00
Tommi Reiman
1d5d5f663b Support Clojure 1.9.0 2019-03-07 08:49:26 +02:00
Tommi Reiman
e41a50cb80 20% faster wildcard parameters with records 2019-03-07 08:20:41 +02:00
Tommi Reiman
55a5133e85 Rename :reitit.core/trie-compiler -> :reitit.trie/trie-compiler 2019-03-07 08:19:28 +02:00
Tommi Reiman
5ab1f2829e Decode in single sweep, 8% faster 2019-03-07 08:17:17 +02: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
76b90d3598 Document spec-tools change + cause reasoning 2019-03-04 09:41:15 +02:00
Tommi Reiman
dc34720fee Fixed based on Miikka's review 2019-03-03 21:55:39 +02:00
Tommi Reiman
a2843dd097 New reitit-dev module for pretty errors 2019-03-03 20:54:21 +02:00
Tommi Reiman
59560860d8 Finalize Trie & cleanup 2019-03-03 20:20:34 +02:00
Tommi Reiman
a44267ba85 Fix reflection warnings 2019-03-01 22:16:29 +02:00
Tommi Reiman
998bf4a0d4 Empty colon-params are ignored 2019-03-01 22:12:11 +02:00
Miikka Koskinen
680414a209 Point each project.clj to the git directory
This way the released JARs should include the git commit they were built
from.
2019-03-01 13:20:43 +02:00
Tommi Reiman
251f547b88 rebase-error-fix 2019-02-28 12:16:51 +02:00
Tommi Reiman
f0a6ceb837 rename internals for clarity 2019-02-28 12:12:28 +02:00
Tommi Reiman
3aae55bd8c Welcome TrieCompiler 2019-02-28 12:12:28 +02:00
Tommi Reiman
778a8b97b9 Review small fixes 2019-02-28 12:12:28 +02:00
Tommi Reiman
d0cfdf304a Polish 2019-02-28 12:12:28 +02:00
Tommi Reiman
e60d176a2d Validate after route conflicts 2019-02-28 12:12:28 +02:00
Tommi Reiman
9422cd28c1 create empty path-parameters at creation time, 266ns->251ns (-6%) 2019-02-28 12:12:28 +02:00
Tommi Reiman
950fef88d2 Use exception/fail! in all creation-time exceptions
... to be companioned with a slick error printer
2019-02-28 12:12:28 +02:00
Tommi Reiman
ad92c437e6 More dead code 2019-02-28 12:11:05 +02:00
Tommi Reiman
d68e1b81fb FIx cljs, welcome reitit.exception! 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
659aac7fd0 Much faster without transients 2019-02-28 12:11:05 +02:00
Tommi Reiman
81b9bdceef Small improvement
* Sort linear routes secondary with static path length
* Unwrap data-matchers from linear-router
* Simplify StaticMatcher impl
2019-02-28 12:11:05 +02:00
Tommi Reiman
c302f795ab Remove dead code 2019-02-28 12:11:05 +02:00
Tommi Reiman
54d5550fae cljs trie 2019-02-28 12:11:05 +02:00
Tommi Reiman
5b9f90d283 ifs -> switch. maybe faster? 2019-02-28 12:11:05 +02:00
Tommi Reiman
2eb4513447 Initial pure-clojure impl 2019-02-28 12:11:05 +02:00
Tommi Reiman
cecd6cf526 Start working on cljs trie 2019-02-28 12:11:05 +02:00
Tommi Reiman
c87bc099b0 char-array is faster, re-run tests 2019-02-28 12:10:01 +02:00
Tommi Reiman
34d8cb0f57 Test with String path 2019-02-28 12:10:01 +02:00
Tommi Reiman
6f902d118a Free from the regex! 2019-02-28 12:10:01 +02:00
Tommi Reiman
8755e19f78 Cleanup 2019-02-28 12:10:01 +02:00
Tommi Reiman
42d6d0c78d Priorize trie based on depth 2019-02-28 12:10:01 +02:00
Tommi Reiman
4c0d2fb285 mega-insert for trie! 2019-02-28 12:10:01 +02:00
Tommi Reiman
8628f0cec6 Remove segment-rouiter code 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
08edbe5b01 . 2019-02-28 12:10:01 +02:00
Tommi Reiman
eaee4ca38d Implement catch-all from trie 2019-02-28 12:10:01 +02:00
Tommi Reiman
fe0ea19e31 Better perf with transient parameters 2019-02-28 12:10:01 +02:00
Tommi Reiman
f2d131a897 wip 2019-02-28 12:10:01 +02:00
Tommi Reiman
b1bef1c1cc Fix #216 2019-02-19 19:40:26 +02:00
Tommi Reiman
16b6b8ad9f
Merge pull request #210 from nilern/toposort
Middleware/interceptor dependency resolution algorithm
2019-02-03 15:05:44 +02:00
Tommi Reiman
d2d5019d0f 0.2.13 2019-01-26 16:20:19 +02:00
Tommi Reiman
b2cd7f37e2 Fix #209 2019-01-26 16:17:13 +02:00
Pauli Jaakkola
b02ccdd53b #33 Add dependency reolution algorithm. 2019-01-25 16:45:46 +02:00
Vincent Cantin
fdf249a959 Apply a change suggested by Miikka Koskinen. 2019-01-22 08:25:58 +08:00
Vincent Cantin
b77115850f Rewrote reitit.core/path-conflicting-routes using transducers. 2019-01-21 23:28:14 +08:00
Tommi Reiman
7ec5c79cad Release 0.2.12 2019-01-18 08:56:23 +02:00
Tommi Reiman
1e7b118ce4 Fix reflection & boxed-math warning, fixes #207 2019-01-18 08:51:43 +02:00
Tommi Reiman
d203832667 0.2.11 2019-01-17 19:43:45 +02:00
Tommi Reiman
ff20260f5f Fix scanner for cljs 2019-01-17 08:18:35 +02:00
Tommi Reiman
95ebdfa6a4 linear-router is backed by a segment-router 2019-01-17 08:13:25 +02:00
Tommi Reiman
b8d8286265 Fixes for the SegmentTrie 2019-01-15 22:13:12 +02:00
Tommi Reiman
5bd933a10c docs 2019-01-15 22:04:50 +02:00
Tommi Reiman
393049a772 Oh My Java: safe guard against index overflows. 2019-01-14 21:08:20 +02:00
Tommi Reiman
ffc6ba8053 Simplied Java, based on review 2019-01-14 16:39:00 +02:00
Tommi Reiman
75065b56e3 Public docs for reitit.segment 2019-01-14 16:38:45 +02:00
Tommi Reiman
406386e0f6 encode -> decode 2019-01-14 10:45:27 +02:00
Tommi Reiman
36f1df3867 Dead code 2019-01-14 10:45:27 +02:00
Tommi Reiman
3168747540 Fix cljs 2019-01-14 10:45:27 +02:00
Tommi Reiman
16499cceb1 Single wild optimization 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
54aded4442 Dead code 2019-01-14 10:45:27 +02:00
Tommi Reiman
80dea6cfef Snappier Trie 2019-01-14 10:45:27 +02:00
Tommi Reiman
3f86e24b89 faster split 2019-01-14 10:45:27 +02:00
Tommi Reiman
e1925c8462 . 2019-01-14 10:45:27 +02:00
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
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
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
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
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
fdbab455bd 0.2.5 2018-10-30 20:25:14 +02:00
Tommi Reiman
69aeb9adcc Release 0.2.4 2018-10-21 20:37:35 +03: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
f5ee149929 Release 0.2.3 2018-09-24 20:51:43 +03:00
Tommi Reiman
d81f20ae79 0.2.2 2018-09-09 22:29:00 +03:00
Tommi Reiman
7ecc2178c5 remove :compile key from compiled interceptors 2018-09-07 23:08:22 +03:00