Commit graph

195 commits

Author SHA1 Message Date
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
Tommi Reiman
93447fdc71 coerce & compile take opts, resolved in router 2017-08-14 09:42:12 +03:00
Tommi Reiman
fa37e3e198 Initial sketch for a ring-router 2017-08-14 09:42:12 +03:00
Tommi Reiman
a208f7df6c Remove println 2017-08-14 09:42:12 +03:00
Tommi Reiman
0a58510dc2 Default compile get the :handler from meta 2017-08-13 14:40:46 +03:00
Tommi Reiman
5f1d6a61a6 Cleanup & fix perf test 2017-08-12 17:55:58 +03:00
Tommi Reiman
1835ffc681 Support route compilation (fixes #14)
* also, so docs
2017-08-12 17:50:21 +03:00
Tommi Reiman
08edbb9419 Route coercion, fixes #4 2017-08-11 16:02:08 +03:00
Tommi Reiman
69ee59cbd2 Update README, more perf-tests, cleanup
* `match` => `match-by-path`
* `by-name` = > `match-by-name`
* `lookup-router` can't be created with wildcard routes
* `match-by-name` initial perf tests
2017-08-11 08:01:34 +03:00
Tommi Reiman
a28bb2e9b6 Lot's of small improvements
* implement by-name (fixes #5)
* match-route => match
* implement routes
* by-name & match return Match-records (more info, faster to use)
* reitit.regex => reitit.impl
2017-08-10 09:47:27 +03:00
Tommi Reiman
175bb1323e Implement LookupRouter 2017-08-09 20:19:54 +03:00
Tommi Reiman
faa3c08bf0 Add stuff
* router, partially from Pedestal
* sample perf tests
* kws expand to :name
* fns expand to :handler
2017-08-08 15:31:00 +03:00
Tommi Reiman
6eecc048be replace deep-merge with meta-merge 2017-08-07 15:18:38 +03:00
Tommi Reiman
b4ceaf1318 Cleanup codes 2017-08-07 14:27:54 +03:00
Tommi Reiman
e6beae52f0 Initial commit 2017-08-07 14:15:45 +03:00