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