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
c3de6ff3dd
Fix tests
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
c678ca9789
Print both request & response diffs
2019-04-29 15:29:02 +03:00
Juho Teperi
51c5aad492
Refactor ignore-anchor-click check to predicate function
2019-04-29 10:18:41 +03:00
Juho Teperi
5ffb9fc59f
Add ignore-anchor-click function
2019-04-29 10:15:49 +03:00
Alex King
b50b44cced
Invert link 'target' check
2019-04-29 10:15:49 +03:00
Alex King
a25f336d80
Ignore anchors with '_self' not 'self'
2019-04-29 10:15:49 +03:00
Tommi Reiman
674b60a124
spell-spec
2019-04-28 17:06:50 +03:00
Tommi Reiman
dc92f6f48e
http-swagger++
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
Juho Teperi
9241de9a43
Merge pull request #258 from fraxu/shadow-dom-fix
...
Support html5 links inside Shadow DOM
2019-04-15 11:13:15 +03:00
Antti Leppänen
c9076e57ad
Use getBrowserEvent method instead of _event property
2019-04-12 07:12:46 +03:00
Antti Leppänen
733958404e
Use doc-string.
2019-04-10 12:14:21 +03:00
Antti Leppänen
b258e0abba
Support html5 links inside Shadow DOM
2019-04-10 09:03:48 +03:00
mathieu
909e82168a
Support Sieppari-style error handlers with pedestal
...
The reitit-pedestal Executor checks if the mounted interceptors have
1-arity error handler. If so, they are wrapped into a 2 arrity function.
2019-04-04 09:38:39 +02: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
Juho Teperi
057fae9e46
Update easy.cljs
2019-03-15 16:49:57 +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
Miikka Koskinen
1ec4df974d
Fix typo
2019-03-04 09:54:19 +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
549d2a0f97
Adhere spec-tools 0.9.0 changes
2019-03-03 20:54:47 +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
5713afac34
best-effort to retain route order with swagger
2019-02-28 14:59:48 +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
Juho Teperi
1e5fe74c29
Fix indent
2019-02-08 14:47:05 +02:00
Juho Teperi
cbff7d10bf
Fix HTML5 history in IE11 (and hopefully others)
...
closest method is not available in IE, but we only need to find ancestor
by tag name which is easy and relatively fast anyway.
2019-02-08 14:44:28 +02:00
Juho Teperi
6123230f98
Simplify contentEditable check for frontend routing
2019-02-08 13:57:03 +02:00
Juho Teperi
f5eb1d17f5
Merge pull request #212 from nextjournal/fix-html5-history-contenteditable
...
Fix handling links inside contenteditable
2019-02-08 13:49:55 +02:00
Philipp Markovics
88a13ba2f8
Don’t follow links when they are contenteditable
2019-02-08 12:39:07 +01:00
Juho Teperi
648c92bef8
Only display controller :params deprecating warning once
2019-02-08 10:39:40 +02:00
Juho Teperi
9e30836839
Update controller docs
2019-02-08 10:22:29 +02:00
Juho Teperi
36109f142c
Replace controller :params with :identity and :parameters
2019-02-08 10:22:29 +02:00
Juho Teperi
c314707afb
Add utils to create common controller :params functions
2019-02-08 10:21:19 +02:00
Juho Teperi
9d6b0071fc
Call :stop for controllers in reverse order
2019-02-08 10:21:19 +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
62f908d988
Second fix to #209
2019-01-26 16:34:16 +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
f1cbeaa7d2
Fix arity error on benchmarks
2019-01-18 08:52:03 +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
213f16defa
FIx swagger uris
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
75c4f78f5d
:inject-router? and :inject-match? for ring & http
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
8081fe1a49
0.2.10-alpha1
2018-12-27 16:45:33 +02:00
Tommi Reiman
998656a9ac
Enchance docs
2018-12-27 16:01:31 +02:00
Tommi Reiman
f524459768
Merge pull request #197 from metosin/reitit-pedestal
...
Reitit pedestal
2018-12-26 15:48:43 +02:00
Tommi Reiman
8e0aaf7ae8
Reitit-pedestal
2018-12-26 15:43:26 +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
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
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
37cb99a13e
Expose spec problems to error handlers
2018-11-17 20:50:04 +02:00
Miloslav Nenadal
13141027ee
Support swagger with async ring
2018-11-17 11:11:55 +01:00
Tommi Reiman
02308b582d
Interceptors diff context, not request
2018-11-11 22:31:02 +02:00
Tommi Reiman
4bfafaffec
Diff printing middleware & interceptors
2018-11-11 22:23:51 +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
1a13a24224
In ClojureScript, satisfies? is a macro
...
Thus `partial` can't be used with it.
2018-11-08 10:00:57 +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
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
fdbab455bd
0.2.5
2018-10-30 20:25:14 +02:00
Tommi Reiman
2a08ba2c98
Polish code
2018-10-30 19:51:19 +02:00
Unknown
b6e8a9d579
Add 0-ary version
2018-10-30 23:48:12 +09:00
Unknown
c8b2aa7bc4
Fix incorrect request key
...
It's :request-method not :method
2018-10-30 23:22:38 +09:00
Unknown
6c599f8862
Merge branch 'master' into trailing-slash
2018-10-30 23:10:23 +09:00
Unknown
820e13cffb
Use status 301 and 308
2018-10-30 10:16:30 +09:00
Unknown
875934360e
Add trailing slash handler
2018-10-29 10:10:22 +09:00
Unknown
46254975d9
Undo ensure-slash
2018-10-29 09:11:52 +09:00