Commit graph

135 commits

Author SHA1 Message Date
sdogruyol
6b034c3b2f Rename MemoryIO to IO::Memory since it's deprecated on Crystal 0.20.0 2016-11-22 23:29:10 +03:00
sdogruyol
012ac8f6b7 Yield error in custom error handlers 2016-11-16 20:27:01 +03:00
sdogruyol
8ec9ed8331 Improve docs 2016-11-10 16:38:29 +03:00
Serdar Dogruyol
ec11698ab1 Only / Exclude Paths in Middleware (#245)
Add only / exclude paths in Middlewares
2016-11-09 19:18:39 +04:00
sdogruyol
4267a5eea9 Set default exception Content-Type to text/html. Fixes #202 2016-11-06 11:58:18 +03:00
sdogruyol
87d88318de Rename to Kemal::Exceptions::InvalidPathStartException 2016-11-04 11:49:11 +03:00
sdogruyol
e6810c4516 Route declaration must start with / fixes #242 2016-11-04 11:12:59 +03:00
sdogruyol
d676b559d2 Rename return_with as halt for clear intention 2016-11-01 11:46:13 +03:00
Serdar Dogruyol
922d6de4d1 Middleware ordering (#236)
Improve and correct request middleware

 Request -> Middleware -> Filter -> Route
2016-10-28 11:35:34 +03:00
Sam Eaton
e43b2a3a01 Decodes url parameters (#229)
Decode url parameters
2016-10-18 16:28:42 +03:00
sdogruyol
7efe69ac31 Add multipart support <3 2016-10-01 18:18:28 +03:00
Sdogruyol
e2c99bcfb8 Remove array support from session for now 2016-09-30 14:03:29 +03:00
Sdogruyol
a8e53fb94e Session also supports arrays 2016-09-30 14:03:29 +03:00
Sdogruyol
8c600cb26e Make session name and expire time configurable 2016-09-30 14:03:29 +03:00
Sdogruyol
6d4bf575cb Make session accept more types 2016-09-30 14:03:29 +03:00
Cris Ward
a8cc4f4177 gzip static files options dir listing and etags
format
2016-09-18 01:46:16 +01:00
sdogruyol
4cd30839a5 Add gzip helper to enable/disable HTTP::DeflateHandler 2016-09-15 19:35:34 +03:00
Sdogruyol
aea70fd1e5 No need to dup headers 2016-08-13 17:54:11 +03:00
Sijawusz Pur Rahnama
28859fbdb8 Fix parsing JSON params when "charset" is present in "Content-Type" header (#193)
Resolves case when `Content-Type` headers is passed in form of `application/json; charset=utf-8`
2016-08-11 22:29:29 +03:00
Sdogruyol
d4e96c7b44 Add spec for send_file binary 2016-08-08 21:49:47 +03:00
Sdogruyol
98efbfe341 Improve logging and specs 2016-07-28 21:12:55 +03:00
Sdogruyol
dc3cc74798 Add more specs to common_exception_handler 2016-07-19 23:29:00 +03:00
Sdogruyol
5e297d86f8 Add send_file to helpers 2016-07-19 20:58:04 +03:00
Sdogruyol
b00bc7a202 Add next handler to init_handler_spec 2016-07-17 20:42:00 +03:00
Sdogruyol
09d9e708f1 Introduce Kemal::InitHandler to initialize HTTP::Server::Context with defaults 2016-07-17 18:11:26 +03:00
Sdogruyol
4edebcf8eb Format 2016-07-17 14:31:45 +03:00
Sdogruyol
09d82ed74b Add context store 2016-07-14 21:56:01 +03:00
Sdogruyol
24e0824a9b Better view_specs for layout variables 2016-07-12 00:09:01 +03:00
Sdogruyol
21b194a901 Add content_for and yield_content helpers <3. Thanks @RX14 2016-07-09 19:54:35 +03:00
Sdogruyol
73d6123f3d WIP 2016-07-09 18:57:35 +03:00
Sdogruyol
3ea6a01afc Remove file handler from CommonLogHandler. Log only to STDOUT. Fixes #159 2016-07-05 22:14:00 +03:00
Sdogruyol
20a174b66e Add extra_options from CLI 2016-07-04 20:23:16 +03:00
Sdogruyol
19581d6e3e Improve common_exception_handler to handler custom 500 errors. Fixes #175. 2016-07-03 11:13:29 +02:00
Mike Perham
22d6c1773e Remove HTTP prefix, this is a Rack impl convention, not a standard. 2016-06-29 14:52:47 -07:00
Mike Perham
e407d0195c Implement CSRF protection
This adds a middleware which, when activated, will deny any form submission which does not include a valid `authenticity_token` parameter or `http-x-csrf-token` header with the request.

The header and parameter names are identical to the ones supported by Ruby's rack-protection gem for interoperability purposes.
2016-06-28 15:50:43 -07:00
Mike Perham
46b4dc6524 Add Session#delete, more docs 2016-06-27 16:24:03 -07:00
Mike Perham
94db0c8cb8 Implement basic in-memory session store
Sessions are stored in a non-persistent Hash.  Only String values are allowed.  A reaper fiber regularly removes any sessions which expire due to inactivity.
2016-06-27 14:37:40 -07:00
Sdogruyol
0c46bd65da Add X-Powered-By header 2016-06-19 03:22:55 +03:00
Matthew Gerrior
fbbb43dcab Add "headers" helper to make it easier to add headers to response. 2016-06-16 10:33:38 -04:00
Omar Roth
ac4a5afc05 Fix ssl and specs for 0.18 2016-06-14 16:18:00 -05:00
Matthew Gerrior
d1f9c4394b Opt for built-in HTTP::Params class instead. 2016-06-14 07:32:13 -04:00
Matthew Gerrior
a5e4bc21f3 Allow multiple values for a single parameter key. 2016-06-11 16:52:07 -04:00
Sdogruyol
92d7273759 Inherit response.content type from filter if it's given. Fixes #146. 2016-05-14 11:07:19 +03:00
Ben Jolitz
b73802df0e resolve merge conflict by trusting sdogruyol/master RE property listings 2016-05-07 17:22:08 -07:00
Ben Jolitz
108e732274 rename on_options -> extra_options 2016-05-07 17:18:42 -07:00
sdogruyol
6611b976a9 Improve exception handler 2016-05-05 23:12:17 +03:00
sdogruyol
e6d9311895 Start implementing error block 2016-05-05 22:35:36 +03:00
sdogruyol
40ab34c63d All specs passing 2016-04-12 20:00:37 +03:00
sdogruyol
05e44e68c6 Updating to instance types 2016-04-12 14:41:09 +03:00
Ben Jolitz
1f809c68c8 Support additional options as part of the Config
This commit adds the ability to add a closure suitable for adding
additional options. It is expected to allow someone to set global,
module or class level variables so they can pass changes/options
suitable for making decisions.
2016-03-30 13:33:51 -07:00