Commit graph

464 commits

Author SHA1 Message Date
Tommi Reiman
c9281f0e89 support :parameter-syntax option in router 2019-06-09 20:29:03 +03:00
Tommi Reiman
fdca962d60 Less config for the test 2019-05-23 18:56:54 +03:00
Tommi Reiman
37deaa3b9e Check also pedestal interceptor key values, fixes #285 2019-05-23 18:53:27 +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
38d419a82b Fix typo 2019-05-22 21:12:13 +03:00
Marcus Spiegel
8dcebcf49f Fix typos 2019-05-22 19:17:10 +02:00
Tommi Reiman
4933927fa9 Add a failing test 2019-05-22 16:34:25 +03:00
Kevin van Rooijen
259dd24105 Add test to ensure that the problems key is populated 2019-05-20 18:37:55 +02:00
Tommi Reiman
ad0bc7e013 Better errors for route-data merge errors 2019-05-15 22:54:35 +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
c3de6ff3dd Fix tests 2019-05-01 22:40:44 +03:00
Valtteri Harmainen
f7332d3bc4 Fix empty query params map resulting in redundant '?' in path 2019-04-27 08:22:08 +03:00
Antti Leppänen
b258e0abba Support html5 links inside Shadow DOM 2019-04-10 09:03:48 +03:00
Tommi Reiman
e41a50cb80 20% faster wildcard parameters with records 2019-03-07 08:20:41 +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
161fd1dfb0 Polish tests 2019-03-03 21:58:17 +02:00
Tommi Reiman
90e2d3b0ae Return of the spec-tests for cljs 2019-03-03 21:55:55 +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
998bf4a0d4 Empty colon-params are ignored 2019-03-01 22:12:11 +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
aea8a8f2d5 Emoji routing 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
69550febfa 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
8abca179d0 Test unicode chars 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
cecd6cf526 Start working on cljs trie 2019-02-28 12:11:05 +02:00
Tommi Reiman
907e0b5c97 dead code 2019-02-28 12:11:05 +02:00
Tommi Reiman
6f902d118a Free from the regex! 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
b1bef1c1cc Fix #216 2019-02-19 19:40:26 +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
bc26eaed83 Fix tests 2019-02-03 15:13:28 +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
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
Tommi Reiman
b8d8286265 Fixes for the SegmentTrie 2019-01-15 22:13:12 +02:00
Tommi Reiman
433cf9102d . 2019-01-15 22:05:00 +02:00
Tommi Reiman
393049a772 Oh My Java: safe guard against index overflows. 2019-01-14 21:08:20 +02:00
Tommi Reiman
9e58f93cc9 test all calfpath perf 2019-01-14 20:41:58 +02:00
Tommi Reiman
b847af4ae7 Fix segment tests 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
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
ed1c2b0c4f Add coercion tests for vector data-specs, 0.2.9 2018-11-21 16:02:04 +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
ffc36fce36 Support composable transformations of mw/interceptor chain
* fixes #167
2018-11-18 22:19:30 +02:00
Tommi Reiman
cca55c5bd5 Add regression test for swagger-spec 3arity handler 2018-11-17 21:25:40 +02:00
Tommi Reiman
37cb99a13e Expose spec problems to error handlers 2018-11-17 20:50:04 +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
Hannu Hartikainen
52a476c661 Fix tests (add missing require) 2018-10-31 08:48:14 +02:00
Tommi Reiman
763440e41f Format code 2018-10-30 19:50:18 +02:00
Unknown
da29203cc8 Add tests for :strip and :both 2018-10-30 23:48:35 +09:00
Unknown
ad8384022c Add tests for the slash-redirect :add case 2018-10-30 23:23:13 +09:00
Tommi Reiman
45eab09d7a Fix tests 2018-10-28 20:19:40 +02:00
Tommi Reiman
0095aece21 Router is injected into request in the default branch
* releated to #159
2018-10-28 18:20:35 +02:00
Tommi Reiman
5046aebec8 Allow any kind of model 2018-10-16 20:25:43 +03:00
Unknown
a00798a0f5 Adjust tests to allow string keys 2018-10-16 22:57:33 +09:00
Tommi Reiman
c0201ce2f0 test parameters-interceptor 2018-09-24 20:27:42 +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
fb95a1e303 Test top-level handler override 2018-09-23 11:27:33 +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
ec8727394d Ensure that #145 works 2018-09-22 21:19:44 +03:00
Tommi Reiman
34827ccf1c variadic test, related to #142 2018-09-19 19:58:42 +03:00
Tommi Reiman
872f1dbbc4 fix interceptor tests 2018-09-07 23:35:55 +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
34f0e24bb3 test interceptor call counts 2018-09-03 19:05:55 +03:00
Tommi Reiman
8cd06c2bfb drop create- from interceptors 2018-09-02 17:30:43 +03:00
Tommi Reiman
8b4f7af241 cleanup 2018-08-25 15:44:58 +03:00
Tommi Reiman
a53981d597 test just clj with http 2018-08-25 15:14:37 +03:00
Tommi Reiman
a68cafe5ce intercerptors with cps-ring 2018-08-25 14:21:11 +03:00
Tommi Reiman
4d797d0b5d transform-test 2018-08-25 13:30:54 +03:00
Tommi Reiman
3e659a2b8b more tests 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
5e7be28eb7 fn -> handler in interceptors 2018-08-25 13:28:44 +03:00
Tommi Reiman
d13dab9e32 . 2018-08-24 18:39:20 +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
0bd1b94274 Store uncoerced query-params in frontend match
This matches path-params and fragment.
2018-08-23 09:58:55 +03:00
Tommi Reiman
61f65396e7 TODO: multipart tests 2018-08-22 20:06:51 +03:00
Juho Teperi
c11d21d9ec Improve frontend tests 2018-08-22 10:47:04 +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
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
ad0ef978fb middleware docs 2018-08-02 16:20:39 +03:00
Tommi Reiman
cc00ddb97c exception mw docs 2018-08-02 16:12:32 +03:00
Tommi Reiman
4ea025dc83 more robust apidocs 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
0f384c2b52 tune exceptions-middleware 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
fa639fc530 -alpha 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
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
6c23a5562a form-encode & form-decode 2018-08-01 18:57:17 +03:00
Tommi Reiman
0b4d1d2ee1 url-encode & url-decode 2018-08-01 18:08:03 +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
055a03c793 prepare 2018-07-27 15:10:02 +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
Juho Teperi
d54c05426c Share router between history tests 2018-07-24 11:45:51 +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
346fbad775 Fix #109 2018-07-16 09:34:52 +03:00
Juho Teperi
5024223280 Fix capture-console on node 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
aeadfad880 Add path and query params to frontend example 2018-07-12 12:49:14 +03:00
Juho Teperi
06b641398a Run history tests only on browser 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
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
Tommi Reiman
1993dee5f2 demo normal swagger-responses 2018-06-25 10:18:40 +03:00
Tommi Reiman
1bab89b1a0 more tests 2018-06-24 19:28:50 +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
15c12dfb83 fix tests 2018-06-14 18:14:15 +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
bcc2564498 default coercion format reads from Muuntaja keys 2018-06-11 08:52:53 +03:00
Tommi Reiman
0cafb9639d . 2018-06-06 10:34:23 +03:00
Tommi Reiman
4a4cd5ae9e response/redirect 2018-06-06 10:34:23 +03:00
Tommi Reiman
80283dbbd2 Better tests for the static files 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
d48515e084 Strip nil routes from all positions 2018-06-06 10:34:23 +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
e295861fe5 Test all working paths with static-handlers 2018-05-20 21:51:54 +03:00
Tommi Reiman
11ef36652c cljdoc 2018-05-18 18:42:10 +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
0b711b2560 Support :index-files in create-resource-handler 2018-04-29 16:51:53 +03:00
Tommi Reiman
15719a798c Assert that Last-Modified is set 2018-04-25 08:39:06 +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
d0f0189647 swagger works now 2018-04-21 20:45:50 +03:00
Tommi Reiman
1c026569d9 Cleanup tests 2018-03-21 08:18:52 +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
f3058b90fe Fix tests for cljs 2018-03-17 14:35:28 +02:00
Tommi Reiman
9a2a8a1f16 Tests for swagger 2018-03-17 14:19:23 +02:00
Tommi Reiman
32fb3ca294 :responses have :body, not :schema 2018-02-11 21:38:15 +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
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
db77b53831 Fix tests 2017-12-27 21:37:04 +02:00
Tommi Reiman
388de03ead Exclude chain 2017-12-26 22:42:12 +02:00
Tommi Reiman
1a9583b31b Support ring-route-data validation 2017-12-26 22:41:17 +02:00
Tommi Reiman
06cb1301cd Support route data validation in router 2017-12-26 22:40:34 +02:00
Tommi Reiman
b5d1ecc453 Middleware & Interceptor perf tests 2017-12-17 21:24:21 +02:00
Tommi Reiman
fd6a39aefc Implement Interceptors like Middlewar 2017-12-12 22:27:50 +02:00
Tommi Reiman
927d4d4389 Remove middleware/create & polish stuff 2017-12-12 22:27:36 +02:00
Tommi Reiman
715968a5d2 Coercion docs 2017-12-10 16:57:09 +02:00
Tommi Reiman
a2063587b1 dead code 2017-12-09 23:32:45 +02:00
Tommi Reiman
dbe40e0145 coerce! with tests 2017-12-09 23:07:33 +02:00
Tommi Reiman
b9f032a5ce Cleanup Coercion 2017-12-09 22:49:32 +02:00
Tommi Reiman
4b3a4110ab Fix (cljs) tests 2017-12-05 08:58:55 +02:00
Tommi Reiman
5fdaf609c2 Guard for infinite middleware compilation 2017-12-05 08:52:53 +02:00
Tommi Reiman
259c8e01bb Test for deeply compiled middleware 2017-12-05 08:40:21 +02:00
Tommi Reiman
22bbe38b8c reitit.ring.middleware => reitit.middleware 2017-12-04 23:58:05 +02:00
Tommi Reiman
164473cc75 :gel-wrap => :compile 2017-12-04 22:44:13 +02:00
Tommi Reiman
e56dc4ef70 . 2017-12-04 09:02:46 +02:00
Tommi Reiman
7167c76af8 Cleanup example 2017-12-04 08:49:15 +02:00
Tommi Reiman
ba78008d90 expand the transformed mw 2017-12-04 08:36:06 +02:00
Tommi Reiman
368850b6ab :reitit.ring.middleware/transform! 2017-12-03 21:16:23 +02:00
Tommi Reiman
8bbf2eb78c Polish tests 2017-12-03 21:07:41 +02:00
Tommi Reiman
59aa364932 middleware/chain 2017-12-03 17:42:47 +02:00
Tommi Reiman
a436b32729 gen-wrap-* => *-middleware 2017-12-03 17:28:24 +02:00
Tommi Reiman
becd30386d Works with ClojureScript! 2017-11-27 08:00:27 +02:00
Tommi Reiman
03d4e8c4bf Implement coercion error handling 2017-11-26 21:51:43 +02:00
Tommi Reiman
293274fb68 implement catch-all params for segment-router 2017-11-24 18:58:48 +02:00
Tommi Reiman
e0786b73f0 Remove prefix-tree router as it's broken 2017-11-24 09:45:52 +02:00
Tommi Reiman
4490fc1685 Test the segment-router. prefix-tree fails on complex tests... 2017-11-24 09:42:53 +02:00
Tommi Reiman
5d7670de60 Welcome segment-router! 2017-11-24 09:01:05 +02:00
Tommi Reiman
2dd91d91d6 BREAKING: route :meta => :data 2017-11-18 12:47:16 +02:00
Tommi Reiman
63848838d5 respond with nil if async ring route doesn't match
* relates to #45
2017-11-11 22:12:06 +02:00
Tommi Reiman
44867fbcf5 :gen -> :gem-wrap in middleware
* as preparation for support of interceptors
2017-11-11 17:30:17 +02:00
Tommi Reiman
8bde6aefa2 Test that different routers work correctly 2017-11-11 16:46:43 +02:00
Tommi Reiman
5d7786936c prefix-tree-router! 2017-11-10 18:12:00 +00:00
Tommi Reiman
f93a452209 Re-package & re-module 2017-10-29 09:31:28 +02:00
Tommi Reiman
8afbbee813 fast-router -> single-static-path-router 2017-10-02 17:54:37 +03:00
Tommi Reiman
e9c0639914 Fast-router if only 1 static path.
* 200x faster on basic benchmark than the slowest one
2017-10-02 17:54:37 +03:00
Tommi Reiman
dc5768d3cd Fix tests 2017-10-02 08:25:10 +03:00
Tommi Reiman
a2b04f0677 Cleanup 2017-10-02 08:05:42 +03:00
Tommi Reiman
8e2e0c07f6 Polish errors 2017-09-18 08:29:52 +03:00
Tommi Reiman
07c96d2b0d Disable spec instrumentation tests, don't work with :advanced 2017-09-08 11:25:53 +03:00
Tommi Reiman
2c00b753c3 Fix cljs-tests? 2017-09-08 09:42:37 +03:00
Tommi Reiman
4074d31a99 The new ::spec/routes 2017-09-08 08:29:31 +03:00
Tommi Reiman
d60c67c0c3 Middleware name is not mandatory 2017-09-08 08:27:32 +03:00
Tommi Reiman
881fb240bc IntoMiddleware is now any? => Middleware
Also, reitit/routes returns compiled results ftw!
2017-09-08 08:27:20 +03:00
Tommi Reiman
249a54f9bc router-type => router-name 2017-09-08 08:17:45 +03:00
Tommi Reiman
b4855699b5 use fn? instead of fspec with router options
fspec fails for some reason.
related? http://github.com/walmartlabs/lacinia/pull/112
2017-09-04 08:33:49 +03:00
Tommi Reiman
7d4db18000 Initial specs for reitit.core 2017-09-04 08:33:49 +03:00
Tommi Reiman
76f7f28591 welcome, first class data-driven Middleware. 2017-09-04 08:24:42 +03:00
Tommi Reiman
c7c4013f97 README & small fixes 2017-08-30 13:28:49 +03:00
Tommi Reiman
dcd559bf27 Initial Spec request/response coercion (fixes #20) 2017-08-30 08:19:21 +03:00
Tommi Reiman
4e22fd2f53 Allow middleware to be compiled (fixes #26)
Match :handler => :result
2017-08-30 08:14:06 +03:00
Tommi Reiman
dd6d0d5a1c use linearrouter if all routes are wild 2017-08-22 13:10:39 +03:00
Tommi Reiman
3dc1cdfbe2 Welcome :mixed-router (-20% on rest-test) & custom routers 2017-08-22 13:10:39 +03:00
Tommi Reiman
066f5752c2 Return all conflicts for IO 2017-08-22 13:10:39 +03:00
Tommi Reiman
9701a51c5a Routing -> Router, fix tests 2017-08-22 13:10:38 +03:00
Tommi Reiman
f5f1104826 Router option to handle conflicts 2017-08-22 13:10:38 +03:00
Tommi Reiman
851e35ef52 Validate routes for duplicates (fixes #23) 2017-08-22 13:10:38 +03:00
Tommi Reiman
853b7ac24b Cleanup 2017-08-20 21:04:35 +03:00
Tommi Reiman
3e3f728c4e reitit/options, reitit/router-type, reified protocols 2017-08-20 21:00:20 +03:00
Tommi Reiman
1ea6b55849 Testing LookupRouter perf, +20% with fast-assoc 2017-08-20 19:14:49 +03:00
Tommi Reiman
b780a760ef Initial tests for the opensensors routing 2017-08-19 21:27:25 +03:00
Tommi Reiman
9c0ac5bcc0 Sketch for real world perf tests 2017-08-19 16:05:42 +03:00
Tommi Reiman
0276e82dd9 Polish docs, more tests 2017-08-19 16:04:44 +03:00
Tommi Reiman
bc2706147c PartialMatch & route-names 2017-08-19 16:04:13 +03:00
Tommi Reiman
038dfd11ae Update README, fix NPE with match-by-name 2017-08-17 08:54:54 +03:00
Tommi Reiman
406b4c653f Update README 2017-08-15 11:09:33 +03:00
Tommi Reiman
0de9e1b3c6 Polish 2017-08-15 10:26:48 +03:00
Tommi Reiman
7cd4c62216 Match is injected into request 2017-08-15 10:05:26 +03:00
Tommi Reiman
55a97e604b Welcome reitit.middleware 2017-08-15 08:57:37 +03:00
Tommi Reiman
cf06a1757d Cleanup tests 2017-08-14 09:50:12 +03:00
Tommi Reiman
fe19b57b01 Ring simple-router & method-router 2017-08-14 09:42:12 +03:00