Juho Teperi
845240d330
Merge branch 'master' into frontend-fixes
2020-10-15 09:49:14 +03:00
Tommi Reiman
39ec264da8
Merge pull request #417 from Koura/issue-217-consume-form-params
...
Issue 217 consume form params
2020-09-30 12:25:52 +03:00
Juho Teperi
58f9871747
Test rfe start!
2020-09-26 16:51:19 +03:00
Tommi Reiman
fbff819909
update deps
2020-09-26 12:11:14 +03:00
tjalkane
ce635609c7
Omit swagger-data for muuntaja middleware/interceptor
...
Leave out swagger-data when `:form`, but no `:body` parameters, are
defined. If swagger-data is not omitted, order of parameters and
muuntaja middleware will matter.
2020-07-10 09:52:20 +03:00
tjalkane
6703a02baa
Publish Swagger :consumes for parameters-interceptor
...
Make parameters-interceptor automatically publish swagger data for
endpoints when :form, but not :body params, are present.
2020-07-08 10:18:57 +03:00
tjalkane
15df0c5005
Automatically publish Swagger :consumes for :form params
...
Make parameters-middleware publish swagger data for endpoints when
:form, but not :body params,
are present.
2020-07-08 10:07:43 +03:00
tjalkane
c1c3cd26b4
Remove duplicate require of schema.core
2020-06-26 00:25:09 +03:00
tjalkane
87d7e2e3c9
Fix: rename a test to make it run
...
The renamed test is redeclared later in the same namespace
causing the original one to not be run with `lein test`.
2020-06-26 00:16:06 +03:00
Tommi Reiman
681c994f7f
Test that middleware swagger injections work
2020-05-26 22:35:43 +03:00
Tommi Reiman
f2e0470ecd
Merge pull request #408 from metosin/PR
...
Better malli-coercion
2020-05-26 22:03:45 +03:00
Tommi Reiman
57da6fa5ad
optimized http-coercion
2020-05-26 21:32:26 +03:00
Tommi Reiman
e649ed22b9
New options for malli coercion
2020-05-26 08:09:35 +03:00
Tommi Reiman
f41006c8bb
just validation
2020-05-25 23:50:27 +03:00
Tommi Reiman
a2d8208600
Fix #407
2020-05-25 21:54:27 +03:00
piotr-yuxuan
3e8eaa48d7
Fix default description
...
https://github.com/metosin/reitit/issues/403
2020-05-19 23:42:56 +01:00
Tommi Reiman
920c9d7cfd
nil-punning on routes
2020-05-17 10:34:44 +03:00
Tommi Reiman
b1c8dbdaa4
Update sieppari, fix tests
2020-05-16 17:34:55 +03:00
Tommi Reiman
ddf56624b7
Update swagger test
2020-05-16 14:08:08 +03:00
Tommi Reiman
26dcbef5d1
Add tests for missing sieppari asyncs
2020-05-16 14:06:45 +03:00
Tommi Reiman
d36c47d7b1
:reitit.ring/default-options-endpoint & :reitit.http/default-options-endpoint
2020-05-12 21:21:39 +03:00
Tommi Reiman
fd0d7cc46c
Add create-file-handler, fixes #395
2020-05-12 21:05:12 +03:00
Tommi Reiman
b8b442b598
Fix #394
2020-05-12 21:05:12 +03:00
Tommi Reiman
79c430d298
Fix tests
2020-05-12 21:04:35 +03:00
Tommi Reiman
9e7df6ca03
Support expand on default-options-endpoint
2020-05-12 20:11:39 +03:00
Caio Oliveira
029894b984
testing assertion
2020-05-12 10:46:53 -04:00
Caio Oliveira
4fa3e12b49
resource -> endpoint
2020-05-12 10:37:13 -04:00
Caio Oliveira
5796df494e
Change default-options-handler to default-options-resource
...
To make the options resource more customizable.
2020-04-11 20:46:06 -04:00
Tommi Reiman
c5dc91af89
Update tests & CHANGELOG
2020-04-06 10:57:12 +03:00
Juho Teperi
03009f5ca4
Ensure rfe/history is set during initial on-navigate call
...
Fixes #315
2020-03-05 15:32:16 +02:00
Juho Teperi
c4e84c2875
Add clj-kondo and fix most linting warnings
2020-03-05 13:32:48 +02:00
Juho Teperi
c214622495
Fix malli tests
2020-03-05 12:35:37 +02:00
Tommi Reiman
9b024db897
Response coercion is decode + validate + encode
2020-01-07 07:03:57 +02:00
Tommi Reiman
9200afe814
Polish tests
2020-01-06 21:49:41 +02:00
Tommi Reiman
91a2945578
Add support for default values
2019-12-30 22:58:05 +02:00
Tommi Reiman
3c61824f1d
malli coercion + strip extra keys by default with spec
2019-12-28 00:51:41 +02:00
Tommi Reiman
93f947831d
malli + swagger docs
2019-12-27 22:03:52 +02:00
Tommi Reiman
10be520a0d
Malli + coercion
2019-12-27 22:03:52 +02:00
Matt Russell
5aac69f563
Add metosin/ring-http-response support to exception middleware.
2019-12-12 22:29:17 +00:00
Pauli Jaakkola
6d5bf64833
Implement encoding of multi-valued query params.
2019-12-02 15:33:55 +02:00
Pauli Jaakkola
0adb820bba
Collect multi-valued query params into vector.
2019-11-15 12:53:32 +02:00
Ilmo Raunio
e092001568
Add test cases to check for deep paths
2019-11-13 22:49:21 +02:00
Ilmo Raunio
8a86701902
Allow path conflict resolution with :conflicting
2019-11-13 22:49:21 +02:00
Tommi Reiman
e2a297a69d
More tests, fixes #320
2019-10-10 15:09:58 +03:00
Daw-Ran Liou
69795f5fe7
Tighten middleware spec from collection to vector
...
This avoids messing up the order of middleware chain accidentally.
2019-10-09 18:38:32 +03:00
Daw-Ran Liou
4a199b918a
Add test to validate middleware cannot be list
...
When meta-merges list with a vector, the resulting order is reversed. To avoid
this for the middleware chain, middleware cannot be lists.
2019-10-09 18:38:32 +03:00
Alexander Kiel
a19849fe58
Make Map Destructuring of Namespaced Keys more Beautiful
...
It's possible to put the :keys keyword in the namespace of the keys one likes to
destructure. With that one can use symbols in the vector again. One advantage of
having symbols is, that Cursive grays them out if not used. I found two
occurrences of unused destructured keys.
2019-07-13 17:02:41 +03:00
Tommi Reiman
91e860f6c6
Support 3-arity handler for default-options-handler
2019-06-16 20:11:19 +03:00
Tommi Reiman
47906df7b9
Update deps & docs
2019-06-15 11:49:11 +03:00
Tommi Reiman
46897f3927
Update docs
2019-06-09 20:46:20 +03:00
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