Tommi Reiman
9b024db897
Response coercion is decode + validate + encode
2020-01-07 07:03:57 +02:00
Tommi Reiman
91a2945578
Add support for default values
2019-12-30 22:58:05 +02:00
Tommi Reiman
fa0c00c5b2
Update dep
2019-12-28 09:40:09 +02:00
Tommi Reiman
44f6c51610
Finalize malli coercion
2019-12-28 02:37:33 +02:00
Tommi Reiman
3c61824f1d
malli coercion + strip extra keys by default with spec
2019-12-28 00:51:41 +02:00
Tommi Reiman
a7cd1cf398
response endoding, WIP: tests
2019-12-27 22:03:52 +02:00
Tommi Reiman
93f947831d
malli + swagger docs
2019-12-27 22:03:52 +02:00
Tommi Reiman
10be520a0d
Malli + coercion
2019-12-27 22:03:52 +02:00
Matt Russell
b648c73dcb
Removed hard dependency on metosin/ring-http-response.
...
Use fully-qualified keyword rather referring via required alias, avoiding adding dependency.
2019-12-13 10:39:24 +00:00
Matt Russell
5aac69f563
Add metosin/ring-http-response support to exception middleware.
2019-12-12 22:29:17 +00:00
Pauli Jaakkola
6d5bf64833
Implement encoding of multi-valued query params.
2019-12-02 15:33:55 +02:00
Pauli Jaakkola
0adb820bba
Collect multi-valued query params into vector.
2019-11-15 12:53:32 +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
Daw-Ran Liou
69795f5fe7
Tighten middleware spec from collection to vector
...
This avoids messing up the order of middleware chain accidentally.
2019-10-09 18:38:32 +03:00
Tommi Reiman
c23f591283
0.3.10
2019-10-08 10:28:25 +03:00
Juho Teperi
10c9097c40
Merge pull request #301 from uosl/fix/composedpath
...
Use aget for composedPath to avoid casting JS array to seq
2019-09-20 10:43:35 +03:00
Juho Teperi
f0fef3e525
Merge branch 'master' into html5-hist-fragments
2019-09-20 10:36:08 +03:00
Juho Teperi
500d5d6540
Merge pull request #259 from metosin/ignore-anchor-click-fn
...
Ignore anchor click fn
2019-09-20 10:34:15 +03:00
Tommi Reiman
3644c2e392
FIxes #308
2019-09-09 21:14:40 +03:00
Juho Teperi
802c9b04c4
Merge branch 'master' into ignore-anchor-click-fn
2019-08-21 13:43:01 +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
uosl
c8209a69db
Use aget composedPath to avoid casting JS array to seq
2019-07-11 09:04:06 +01:00
Dieter Komendera
35597aadf6
Pass uri fragments to history pushState
2019-07-08 08:48:15 +02:00
Tommi Reiman
2e85f44a7e
0.3.9
2019-06-16 20:20:49 +03:00
Tommi Reiman
91e860f6c6
Support 3-arity handler for default-options-handler
2019-06-16 20:11:19 +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
37deaa3b9e
Check also pedestal interceptor key values, fixes #285
2019-05-23 18:53:27 +03:00
Tommi Reiman
a314e06887
0.3.6
2019-05-23 14:37:58 +03:00
Daniel Sunnerek
372d7e7509
[ #283 ] Allow to pass some defaults to create-default-handler
2019-05-23 13:18:49 +02:00
Tommi Reiman
5efdc67954
Merge pull request #281 from malesch/feature/fix-typos
...
Fix a bunch of typos
2019-05-22 21:47:36 +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
Marcus Spiegel
8dcebcf49f
Fix typos
2019-05-22 19:17:10 +02: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
Kevin van Rooijen
a9cacd78ce
Properly access ::s/problems key in coercion-spec
2019-05-20 17:30:17 +02:00
Tommi Reiman
32fced15e8
Release 0.3.3
2019-05-16 07:03:17 +03:00
Tommi Reiman
639b0ca5f4
Correct Link
2019-05-16 06:56:00 +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
8a538b6d7e
Update CHANGELOG
2019-05-13 17:05:46 +03:00
Tommi Reiman
419dd24316
Route-data validation docs
2019-05-11 22:31:58 +03:00
Tommi Reiman
6d263ae1b6
Test Pedestal error mapping, add dev helpers
2019-05-11 10:25:09 +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
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