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
Tommi Reiman
2dc3636064
Coercion is a reified Protocol, not a Record
2017-12-14 09:16:10 +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
2092682d6a
interceptors, wip
2017-12-10 18:08:46 +02:00
Tommi Reiman
978b2691ca
schema & spec only depend on core!
2017-12-10 17:50:31 +02:00
Tommi Reiman
715968a5d2
Coercion docs
2017-12-10 16:57:09 +02:00
Tommi Reiman
7af3f470d6
Cleanup
2017-12-09 23:46:26 +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
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
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
82e300a9aa
More docs
2017-12-03 21:00:34 +02:00
Tommi Reiman
59aa364932
middleware/chain
2017-12-03 17:42:47 +02:00
Tommi Reiman
b210a98f83
polish Coercion protocol
...
* compile => compile-model
* mae-open => open-model
2017-12-03 17:29:06 +02:00
Tommi Reiman
a436b32729
gen-wrap-* => *-middleware
2017-12-03 17:28:24 +02:00
Tommi Reiman
e0dc618c4b
Compile Schema coercers ahead of time -> 4x perf
2017-12-01 09:32:26 +02:00
Tommi Reiman
97598ce194
Fix :body coercion (not open, :body coercer)
2017-11-27 08:01:52 +02:00
Tommi Reiman
becd30386d
Works with ClojureScript!
2017-11-27 08:00:27 +02:00
Tommi Reiman
132240b422
ClojureScriptify Exceptions
2017-11-26 22:04:51 +02:00
Tommi Reiman
7979c9de9d
Remove normal middleware, slow and noicy
2017-11-26 21:51:55 +02:00
Tommi Reiman
03d4e8c4bf
Implement coercion error handling
2017-11-26 21:51:43 +02:00
Tommi Reiman
4d772c62e1
Polish implementations
2017-11-26 21:51:21 +02:00
Tommi Reiman
861c16b195
initial commit
2017-11-24 19:09:45 +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
102fd35f04
Functional segemnt-router
2017-11-24 07:34:14 +02:00
Tommi Reiman
ec35c2ebbf
Polish segment-router
2017-11-23 16:01:40 +02:00
Tommi Reiman
636c7ecd24
Clean up internals
2017-11-23 15:52:59 +02:00
Tommi Reiman
8019cebdc7
Segment-router to rule 'em all
2017-11-20 15:17:38 +02:00
Tommi Reiman
607e34c671
Add :type meta to Routers
2017-11-20 15:17:25 +02:00
Tommi Reiman
2dd91d91d6
BREAKING: route :meta => :data
2017-11-18 12:47:16 +02:00
Tommi Reiman
e8ee224160
Fix tests
2017-11-12 16:00:32 +02:00
Tommi Reiman
9434dd08e7
Don't test for nil handler
...
* it's already verified by the ring-router
2017-11-12 15:43:27 +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
1f27021c29
Tries have a human-readable representation
2017-11-11 16:39:11 +02:00
Tommi Reiman
2f6bfb33f8
Use linear-router always if there are conflicting routes
2017-11-11 16:38:16 +02:00
Tommi Reiman
de993abf62
Move tests
2017-11-10 18:12:00 +00:00
Tommi Reiman
5d7786936c
prefix-tree-router!
2017-11-10 18:12:00 +00:00
Tommi Reiman
39bc633576
j.u.HashMap fails with nil
2017-11-10 18:12:00 +00:00
Tommi Reiman
2ae8fd27a8
Replace the version in place
2017-10-30 21:39:35 +02:00
Tommi Reiman
c3820239c5
Walk the docs, fix links, maybe better texts
2017-10-30 08:46:20 +02:00
Tommi Reiman
a3ebb04038
Manage dependencies via lein-parent
2017-10-29 09:31:28 +02:00
Tommi Reiman
f93a452209
Re-package & re-module
2017-10-29 09:31:28 +02:00
Tommi Reiman
460ba5ecc0
Fix based on Miikka's comments
2017-10-29 09:31:28 +02:00
Tommi Reiman
4805555417
Initial module split
...
* metosin/reitit (all)
* metosin/reitit-core (just the router)
* metosin/reitit-ring (the ring stuff)
2017-10-29 09:31:28 +02:00