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
Tommi Reiman
0095aece21
Router is injected into request in the default branch
...
* releated to #159
2018-10-28 18:20:35 +02:00
Unknown
33582b4c1c
Strip slash instead
...
Also fix the only failing test
2018-10-28 18:22:41 +09:00
Unknown
2ba01028a0
Remove unnecessary let
2018-10-28 16:28:12 +09:00
Unknown
a8d6b32389
Use ensure-path for matching
2018-10-28 16:21:15 +09:00
Unknown
8d4c591f96
Use ensure-slash at compilation
2018-10-28 16:21:03 +09:00
Unknown
e2e96e8f1e
Add ensure-slash function
2018-10-28 16:20:45 +09:00
Tommi Reiman
69aeb9adcc
Release 0.2.4
2018-10-21 20:37:35 +03:00
Tommi Reiman
17c27eb732
Remove generated names from Data-Specs
2018-10-21 20:36:53 +03:00
Tommi Reiman
cb14cf017a
Update to spec-tools 0.8.0-SNAPSHOT
2018-10-21 20:06:28 +03:00
Tommi Reiman
5046aebec8
Allow any kind of model
2018-10-16 20:25:43 +03:00
Unknown
6322bb99f1
Resolve reflection warnings
2018-10-16 22:51:43 +09:00
Tommi Reiman
a77a583c09
Merge pull request #155 from valerauko/resource-404
...
Custom handler for resource 404
2018-10-16 14:58:16 +03:00
Vale
21c888b8bc
Update docstring
2018-10-10 13:57:59 +09:00
Vale
e84b25d4ac
Custom handler for resource 404
2018-10-10 13:57:51 +09: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
b015eec2a5
for http-router too
2018-09-24 20:21:53 +03:00
Tommi Reiman
a620ec5999
Set Allow-header on default-options-handler
2018-09-24 20:19:42 +03:00
Tommi Reiman
f19aae6e77
fix #150
2018-09-23 16:42:45 +03:00
Tommi Reiman
da1cbf7121
Generate options-endpoints for ring by default
2018-09-23 10:52:17 +03:00
Tommi Reiman
158695d47b
Support for top-level middleware in reitit-ring
...
See #143
2018-09-22 21:42:01 +03:00
Tommi Reiman
d81f20ae79
0.2.2
2018-09-09 22:29:00 +03:00
Tommi Reiman
676643f2e5
reitit-interceptors into reitit bundle
2018-09-07 23:09:08 +03:00
Tommi Reiman
7ecc2178c5
remove :compile key from compiled interceptors
2018-09-07 23:08:22 +03:00
Tommi Reiman
5d9d2a4e0a
fix muuntaja interceptor
2018-09-07 23:08:05 +03:00
Tommi Reiman
57bcf2ab44
parameters-middleware & interceptor
2018-09-07 23:07:55 +03:00
Tommi Reiman
08349e61df
multipart interceptor
2018-09-07 23:07:38 +03:00
Tommi Reiman
ca02680e2d
exceptions
2018-09-07 20:04:08 +03:00
Tommi Reiman
de3fc480b4
muuntaja
2018-09-07 19:50:44 +03:00
Tommi Reiman
3d611d6cdb
muuntaja-interceptors
2018-09-07 19:50:10 +03:00
Juho Teperi
98707902ea
Add :scm tags for clojars commit link
2018-09-04 19:21:07 +03:00
Tommi Reiman
fa90d12eb8
0.2.1 with updated deps
2018-09-04 18:15:23 +03:00
Tommi Reiman
ac86d550b5
0.2.0
2018-09-03 19:44:59 +03:00
Tommi Reiman
2c51f051de
0.2.0-alpha1
2018-09-02 17:52:19 +03:00
Tommi Reiman
8cd06c2bfb
drop create- from interceptors
2018-09-02 17:30:43 +03:00
Tommi Reiman
08b2fc7bfd
fix docs for coerce! fixes #131
2018-08-31 15:26:17 +03:00
Tommi Reiman
e4eae4f3b2
cleanup
2018-08-31 15:17:51 +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
Juho Teperi
d7c025d912
Fix FragmentHistory -stop method
2018-08-27 14:23:11 +03:00
Juho Teperi
b99e25ef4f
Clean frontend routing docstrings
2018-08-27 14:23:11 +03:00
Tommi Reiman
a68cafe5ce
intercerptors with cps-ring
2018-08-25 14:21:11 +03:00
Tommi Reiman
3e659a2b8b
more tests
2018-08-25 13:30:54 +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
20fa00beaa
public
2018-08-25 13:28:44 +03:00
Tommi Reiman
bd844bd816
http.coercion & http.spec
...
* TODO: need tests
2018-08-25 13:28:44 +03:00
Tommi Reiman
60f10cdc01
remove interceptors in favor of Sieppari
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
Tommi Reiman
8603224546
docs
2018-08-25 13:28:44 +03:00
Juho Teperi
2900e96337
Merge pull request #125 from metosin/frontend-fragment
...
Frontend fixes
2018-08-23 10:12:46 +03:00
Juho Teperi
adfba578ca
Merge pull request #126 from metosin/frontendrouter
...
reitit.frontend/router
2018-08-23 10:07:09 +03:00
Juho Teperi
82ad1fa6cc
Clean duplicate require
2018-08-23 09:58:57 +03:00
Juho Teperi
e42c309144
Read query string in HTML5 router
2018-08-23 09:58:57 +03:00
Juho Teperi
0bd1b94274
Store uncoerced query-params in frontend match
...
This matches path-params and fragment.
2018-08-23 09:58:55 +03:00
Tommi Reiman
7b3aa5e631
better docs
2018-08-22 21:51:02 +03:00
Tommi Reiman
7cc8f84297
better docs
2018-08-22 19:39:04 +03:00
Tommi Reiman
5c835c5ad2
reitit.frontend/router
2018-08-22 18:56:31 +03:00
Tommi Reiman
c1d8ec99d8
muuntaja
2018-08-10 08:09:40 +03:00
Matthew Davidson
75f5e198e4
Merge master into url-decode-path-params
2018-08-07 21:14:35 -04: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
Tommi Reiman
df5d7fcad6
Fix Schema Upload explain
2018-08-07 11:40:05 +03: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
0d165e799f
fix docs
2018-08-03 13:31:21 +03:00
Tommi Reiman
cc00ddb97c
exception mw docs
2018-08-02 16:12:32 +03:00
Tommi Reiman
9fdb495ab2
:produces and :consumes can be overridden
2018-08-02 16:12:32 +03:00
Tommi Reiman
9330ee3bc5
multipart robusta
2018-08-02 16:12:32 +03:00
Tommi Reiman
4ea025dc83
more robust apidocs
2018-08-02 16:12:32 +03:00
Tommi Reiman
e879df54da
case
2018-08-02 16:12:32 +03:00
Tommi Reiman
2c476177be
Multipart-params revisited
2018-08-02 16:12:32 +03:00
Tommi Reiman
2ab54a1b99
Exception middleware revisited
2018-08-02 16:12:32 +03:00
Tommi Reiman
62cdfa2c52
cleanup multipart
2018-08-02 16:12:32 +03:00
Tommi Reiman
8156922ebc
fix tests
2018-08-02 16:12:32 +03:00
Tommi Reiman
0f384c2b52
tune exceptions-middleware
2018-08-02 16:12:32 +03:00
Tommi Reiman
1eef610577
better names
2018-08-02 16:12:32 +03:00
Tommi Reiman
3a8eae6324
all muuntaja formats wrapped
2018-08-02 16:12:32 +03:00
Tommi Reiman
5c0cf19ef1
Muuntaja is a def
2018-08-02 16:12:32 +03:00
Tommi Reiman
805cb94d33
exception middleware tests
2018-08-02 16:12:32 +03:00
Tommi Reiman
b524736776
clj only
2018-08-02 16:12:32 +03:00
Tommi Reiman
fa639fc530
-alpha
2018-08-02 16:12:32 +03:00
Tommi Reiman
ed385afe5a
add specs
2018-08-02 16:12:32 +03:00
Tommi Reiman
b54ee1a86b
read encodes and decodes from Muuntaja!
2018-08-02 16:12:32 +03:00
Tommi Reiman
10ccbb72e3
wip
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
bb4f861f00
0.2.0-SNAPSHOT
2018-07-28 12:07:16 +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
Juho Teperi
ba10470fbb
Merge pull request #118 from metosin/frontend-routing-3
...
Frontend routing 3
2018-07-24 14:02:53 +03:00
Juho Teperi
08156f6a6d
Replace Closure Html5History
...
- Create History protocol and two implementations: FragmentHistory and
Html5History
- API follows now Html5 history, i.e. push-state and replace-state
- path-prefix is removed
2018-07-24 13:58:22 +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
8b6bc9bb80
[:swagger :id] defaults to :reitit.swagger/default
2018-07-21 09:38:44 +03:00
Tommi Reiman
d6d2ee478c
r/routes & r/compiled-routes
2018-07-18 12:17:16 +03:00
Tommi Reiman
5ded652147
coercion/coerce! can be used now
2018-07-17 12:41:29 +03:00
Tommi Reiman
4bbc1564ae
cleanup imports
2018-07-17 12:41:19 +03:00
Juho Teperi
d90b7cff04
Merge pull request #108 from metosin/frontend-routing-easy
...
Add easy-simple wrapper over frontend router
2018-07-17 10:21:09 +03:00
Tommi Reiman
7514d1b263
rename extract-request-format
2018-07-16 16:01:34 +03:00
Tommi Reiman
346fbad775
Fix #109
2018-07-16 09:34:52 +03:00
Juho Teperi
d0f42459ee
Add easy-simple wrapper over frontend router
2018-07-13 14:25:36 +03:00
Juho Teperi
2152bf0345
Use setToken in a click handler and add set-token function
2018-07-12 22:52:43 +03:00
Juho Teperi
6b8ebdebe6
Fix creating urls with query string when not using fragment
2018-07-12 22:52:41 +03:00
Juho Teperi
82f8aaa8cf
Add frontend-controllers example
2018-07-12 12:49:14 +03:00
Juho Teperi
8971c8fd2b
Add tests for missing route and params warnings
2018-07-12 12:49:14 +03:00
Juho Teperi
ae109e5350
Log warnings about missing route or params
2018-07-12 12:49:14 +03:00
Juho Teperi
264981fd3d
Start version 0.1.4
2018-07-12 12:49:14 +03:00
Juho Teperi
245902bd4d
Use query-string fn in core
2018-07-12 12:49:14 +03:00
Juho Teperi
434bc25cd6
Format code
2018-07-12 12:49:14 +03:00
Juho Teperi
7f1b2ce417
Check if js/location exists
2018-07-12 12:49:10 +03:00
Juho Teperi
61a9871ebb
Fix empty fragment url
2018-07-12 12:48:24 +03:00
Juho Teperi
50faacab25
Fix tests
2018-07-12 12:48:20 +03:00
Juho Teperi
6553795cb5
Add some frontend history tests
2018-07-12 12:46:45 +03:00
Juho Teperi
3611a1bafe
Fix frontend routing tests, add controller ns
2018-07-12 12:46:45 +03:00
Juho Teperi
417f35a318
Create example
2018-07-12 12:46:41 +03:00
Juho Teperi
468a0947d2
Frontend routing implementation
2018-07-12 11:02:35 +03:00
Tommi Reiman
79d8e1bb91
0.1.3
2018-06-25 17:50:36 +03:00
Tommi Reiman
18bd2e684f
bump up version (all but docs)
2018-06-24 22:32:23 +03:00
Tommi Reiman
3af1bd2083
Allow empty response :body for Swagger
2018-06-24 19:20:22 +03:00
Tommi Reiman
f6c460d05c
If response body is not defined, response is passed as-is
2018-06-24 18:36:55 +03:00
Tommi Reiman
1923f2d08e
handle query-parameters in reverse routing
2018-06-14 17:57:36 +03:00
Tommi Reiman
26be209d3a
handle nil with IntoString
2018-06-14 17:50:24 +03:00
Tommi Reiman
771128c281
Support all parameter types
2018-06-14 13:40:32 +03:00
Tommi Reiman
8f7bb94c94
Support ds/maybe in spec-coercion
2018-06-14 13:40:17 +03:00
Tommi Reiman
bcc2564498
default coercion format reads from Muuntaja keys
2018-06-11 08:52:53 +03:00
Tommi Reiman
73a5bd2d3d
remove dead code
2018-06-11 08:52:03 +03:00
Tommi Reiman
6b95fab88c
0.1.2
2018-06-06 10:43:59 +03:00
Tommi Reiman
f2d3d0a125
if -> when
2018-06-06 10:34:23 +03:00
Tommi Reiman
b2c0b2fdfa
confirm to ring spec, fixes #83
2018-06-06 10:34:23 +03:00
Tommi Reiman
4a4cd5ae9e
response/redirect
2018-06-06 10:34:23 +03:00
Tommi Reiman
21de7a038a
0.1.2-SNAPSHOT
2018-06-06 10:34:23 +03:00
Tommi Reiman
a99789216c
Use redirects for index-files
2018-06-06 10:34:23 +03:00
Tommi Reiman
fa078470c5
swagger-ui path work, wip
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
56203ba11d
no default method in ring
2018-06-06 10:34:23 +03:00
Tommi Reiman
4be84d22f4
Fix example
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
361e778fa3
0.1.2-SNAPSHOT, update deps
2018-05-29 08:03:15 +03:00
Kirill Chernyshov
43f5a9ebe8
Fixes after review
...
* Support catch-all-param as a swagger path template part
2018-05-29 01:07:22 +02:00
Kirill Chernyshov
b7341265e9
Fix paths in swagger.json for endpoints with path parameters
2018-05-28 18:09:03 +02:00
Tommi Reiman
fc71947bbb
0.1.1
2018-05-20 21:55:46 +03:00
Tommi Reiman
1262a1fab7
docs
2018-05-20 21:41:38 +03:00
Tommi Reiman
13c02ac51c
no-op-transformer
2018-05-14 08:31:49 +03:00
Tommi Reiman
8a320164a4
welcome swagger-ui!
2018-05-14 08:21:47 +03:00
Tommi Reiman
e137b8baec
linear-router serves unnamed catch-all paths
2018-05-14 08:21:03 +03:00
Tommi Reiman
027d46508b
Update deps
2018-05-14 08:20:29 +03:00
Tommi Reiman
05fbaa1110
Initial swagger-ui integration
2018-05-07 08:59:21 +03:00
Tommi Reiman
0b711b2560
Support :index-files in create-resource-handler
2018-04-29 16:51:53 +03:00
Tommi Reiman
f8a43f0996
use ring for serving resources.
2018-04-25 08:32:01 +03:00
Tommi Reiman
fc0b634865
.
2018-04-24 23:58:15 +03:00
Tommi Reiman
4e49316383
Fix based on Miikka’s comments
2018-04-24 21:17:25 +03:00
Tommi Reiman
8ebcdc8429
swagger & static resource docs
2018-04-23 08:27:16 +03:00
Tommi Reiman
c25da60053
ring/create-resource-handler
2018-04-22 22:51:14 +03:00
Tommi Reiman
acbef8527c
ring/routes, fix async default handling
2018-04-22 22:50:17 +03:00
Tommi Reiman
f66850dacb
swagger-spec-handler => create-swagger-handler
2018-04-22 21:39:38 +03:00
Tommi Reiman
6d387c8822
perf tuning ring-handler
2018-04-22 17:55:32 +03:00
Tommi Reiman
586b02f67d
Fix based on Miikka’s comments
2018-03-22 18:57:53 +02:00
Tommi Reiman
b4835a7860
Polish code
2018-03-21 08:15:28 +02:00
Tommi Reiman
f547576a44
Support also booleans, more tests
2018-03-21 07:48:56 +02:00
Tommi Reiman
5ef30443ef
Initial take on IntoString
2018-03-20 16:30:53 +02:00
Tommi Reiman
5da599ac5b
Cleanup
2018-03-18 11:32:44 +02:00
Tommi Reiman
3cc9fedcbf
Fixed based on Miikka’s comments
2018-03-18 11:21:49 +02:00
Tommi Reiman
b57d900507
0.1.1-SNAPSHOT
2018-03-17 14:32:51 +02:00
Tommi Reiman
9a2a8a1f16
Tests for swagger
2018-03-17 14:19:23 +02:00
Tommi Reiman
f87cd2f09f
Support both Schema & Spec swagger
2018-03-17 11:06:53 +02:00
Tommi Reiman
b43c8cfed9
Swagger WIP
2018-03-17 10:53:19 +02:00
Tommi Reiman
32c3082475
Initial reitit-swagger
2018-03-17 10:21:27 +02:00
Tommi Reiman
d4a4949ad0
0.1.0
2018-02-19 22:03:30 +02:00
Tommi Reiman
e1fbe4460f
Update deps
2018-02-19 07:43:42 +02:00
Tommi Reiman
3005e04a6e
Inject Match and Router under reitit.core ns in ring
2018-02-12 07:49:24 +02:00
Tommi Reiman
c50d95ec3e
.
2018-02-11 21:44:47 +02:00
Tommi Reiman
32fb3ca294
:responses have :body, not :schema
2018-02-11 21:38:15 +02:00
Tommi Reiman
20b9d3c6c8
:parts => :path-parts
2018-02-01 16:25:04 +02:00
Tommi Reiman
54b24be28e
:params => :path-params
2018-02-01 16:23:44 +02:00
Tommi Reiman
fda6a1e06f
Support not-found with ring
2018-01-23 20:29:22 +02:00
Dmitri Sotnikov
6625cf31d7
allow custom default-handler to ring-router
2018-01-07 16:36:26 -05:00
Tommi Reiman
fb99b4f9fd
Parameter & Response Coercion with specs
2017-12-31 11:34:37 +02:00
Tommi Reiman
07bcd2ea59
Cleanup
2017-12-31 11:34:13 +02:00
Tommi Reiman
708fa24590
rename package
2017-12-31 11:30:55 +02:00
Tommi Reiman
b7b0b7c81d
Docs for Ring spec validation
2017-12-29 11:56:01 +02:00
Tommi Reiman
9273f99806
Middleware can also contribute to router specs
2017-12-28 22:41:02 +02:00
Tommi Reiman
abb09e2736
Fix -exclude
2017-12-27 21:40:36 +02:00
Tommi Reiman
5c53b6e989
Fix path spec - doesn't have to start with "/"
2017-12-27 20:28:25 +02:00
Tommi Reiman
6321d1e8be
Docs for route-data validation
2017-12-27 20:27:51 +02:00
Tommi Reiman
1a9583b31b
Support ring-route-data validation
2017-12-26 22:41:17 +02:00
Tommi Reiman
0dbb75ad44
Add :path & :method to Endpoints
2017-12-26 22:40:53 +02:00
Tommi Reiman
06cb1301cd
Support route data validation in router
2017-12-26 22:40:34 +02:00
Tommi Reiman
ce15ae95ec
Exclude -lookup (cljs)
2017-12-26 22:39:14 +02:00
Tommi Reiman
ee0c733726
Compile routes already in reitit.core/router
2017-12-26 17:56:46 +02:00
Tommi Reiman
8a48d6790b
.
2017-12-16 10:51:32 +02:00
Tommi Reiman
1427f12c53
fix reflection warnings
2017-12-14 11:45:01 +02:00