Sdogruyol
fa4573dcf9
HTML.escape render_500
2016-12-04 16:27:40 +03:00
Sdogruyol
878c70e0d9
Make ssl api more idiomatic
2016-12-04 14:14:43 +03:00
Sdogruyol
274d34cfc6
Move filter methods to dsl
2016-12-04 01:47:09 +03:00
Sdogruyol
eb64b52f84
Actually there's no middleware anymore
2016-12-04 01:43:30 +03:00
Sdogruyol
1afb4cbfa8
Use log instead
2016-12-04 01:27:26 +03:00
sdogruyol
b4c10a3f59
Remove basic auth middleware
2016-11-26 21:51:06 +03:00
Sijawusz Pur Rahnama
13293a675d
Add missing class keyword to docs ( #264 )
2016-11-26 13:07:32 +04:00
sdogruyol
92ea55773b
Handle missing 404 image. Fixes #263
2016-11-25 22:19:23 +03:00
sdogruyol
1826789e84
Use body.gets_to_end for parse_json. Fixes #260
2016-11-25 10:45:25 +03:00
Serdar Dogruyol
cc44710654
Remove session & csrf from core ( #259 )
...
Remove session & CSRF
2016-11-24 16:47:30 +04:00
sdogruyol
3b9a3f84ab
Treat HTTP::Request body as IO. Fixes #257
2016-11-24 12:07:39 +03:00
sdogruyol
f11b0e07e4
v0.17.0
2016-11-23 21:30:49 +03:00
sdogruyol
2248475573
Properly add status_code on exceptions. Fixes #255
2016-11-23 20:36:56 +03:00
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
733582f724
No need for require though
2016-11-19 00:11:35 +03:00
sdogruyol
23cd325def
Move some stuff to Utils
2016-11-19 00:05:22 +03:00
Serdar Dogruyol
bc764b7af7
Treat body as IO in param_parser ( #252 )
2016-11-16 22:09:50 +04:00
sdogruyol
012ac8f6b7
Yield error in custom error handlers
2016-11-16 20:27:01 +03:00
sdogruyol
d3eea1d9ab
Rename to FilterBlock
2016-11-10 23:54:25 +03:00
sdogruyol
8ec9ed8331
Improve docs
2016-11-10 16:38:29 +03:00
sdogruyol
ddc92c44e0
Move Kemal::Handler from ext folder
2016-11-10 14:56:05 +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
Sam Eaton
7688bd13a5
Close repsonse on halt ( #246 )
2016-11-07 23:31:36 +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
7dd834ad28
Fix broken websocket routing :/
2016-11-02 11:19:48 +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
sdogruyol
1b27f5c011
Add Int64 type to context store
2016-10-24 16:12:29 +03:00
Sam Eaton
375259f34c
Replace implementation with more appropriate URI.unescape ( #231 )
2016-10-19 11:30:58 +03:00
Sam Eaton
e43b2a3a01
Decodes url parameters ( #229 )
...
Decode url parameters
2016-10-18 16:28:42 +03:00
Sdogruyol
5d71c76554
Don't nest lines with unless. Fixes #225
2016-10-13 22:09:06 +03:00
Serdar Dogruyol
3342007701
Yield UploadFile in parse_multipart ( #224 )
2016-10-12 16:51:28 +03:00
Sam Eaton
875032f0dc
removes Content-Type response header if the file is cached
...
The content-type currently defaults to text/html, which is inaccurate
because no content is being returned. Google, and many popular CDNs
omit the Content-Type header for 304 response.
2016-10-11 15:51:37 -06:00
sdogruyol
7efe69ac31
Add multipart support <3
2016-10-01 18:18:28 +03:00
Sdogruyol
ad9790b9d8
Update session doc
2016-09-30 14:03:29 +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
sdogruyol
cf2144636d
Update CHANGELOG
2016-09-20 20:32:09 -03:00
Aurelien Louis Dit Picard
39cfe14811
Adding port to Kemal#run ( #208 )
...
Adding port to Kemal#run
2016-09-20 20:27:35 -03:00
Serdar Dogruyol
d41ad90826
Merge pull request #204 from crisward/master
...
gzip for static files
2016-09-18 13:03:54 +03:00
Cris Ward
a8cc4f4177
gzip static files options dir listing and etags
...
format
2016-09-18 01:46:16 +01:00
maiha
b2e81e6bc1
Disable ssl when -D without_openssl
is given
2016-09-16 23:34:23 +09:00
sdogruyol
4cd30839a5
Add gzip helper to enable/disable HTTP::DeflateHandler
2016-09-15 19:35:34 +03:00
sdogruyol
7c8915bfa4
Don't forget to call_next on NullLogHandler
2016-09-05 17:56:16 +03:00
sdogruyol
64d3271fb2
Make HTTP::Server uninitialized instead of HTTP::Server?
2016-09-05 10:38:00 +03:00
sdogruyol
0a11a1aee9
Don't overried env unless KEMAL_ENV is explicily set
2016-09-02 15:18:26 +03:00
Cris Ward
6280af2e40
added mime types ( #195 )
...
* added mime types
Added some mime type for images. Very new to crystal so hopefully this is ok.
Without this they default to octet, which just does a download
* jpg to jpeg
2016-08-19 17:49:29 +03:00
Sdogruyol
849eda06c8
Don't round to seconds/minutes in CommonLogHandler
2016-08-14 14:52:50 +03:00
Sdogruyol
ad571db682
Rename view.cr to templates.cr and move it under helpers
2016-08-13 17:43:18 +03:00
Sijawusz Pur Rahnama
a6678f6622
Use String#starts_with? instead of String#[]? ( #194 )
...
It shows real intention and covers cases when `application/json` is passed in the middle of the string, like `some_garbage_string; application/json`
2016-08-12 22:17:57 +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
Sijawusz Pur Rahnama
31cc9fbff4
Add send_file helper variation for sending raw data ( #188 )
...
Add send_file helper variation for sending raw data
* Use Response#content_type=
* Fix docs
2016-08-08 21:15:43 +03:00
Sijawusz Pur Rahnama
4397a3c7fd
Use Response#content_type=
2016-08-08 04:17:58 +02:00
Rayner De Los Santos F
0b92a7fd6c
Use http-only cookie for session
2016-08-02 23:41:45 -04:00
sdogruyol
e5a9035a61
Add doc to CommonLogHandler
2016-08-02 13:39:01 +03:00
Sdogruyol
1705852f25
Inject STDOUT by default in CommonLogHandler
2016-08-01 23:21:19 +03:00
Sdogruyol
98efbfe341
Improve logging and specs
2016-07-28 21:12:55 +03:00
Sdogruyol
676ed2aa67
Use send_file in built-in image handler
2016-07-19 21:05:49 +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
d1c788f065
Don't override content_type in Kemal::InitHandler if it's already set
2016-07-17 20:23:45 +03:00
Sdogruyol
646edb24ca
Set Content-Type after call_next in Kemal::InitHandler
2016-07-17 19:04:03 +03:00
Sdogruyol
3e3200e23e
Oops, forgot call_next(context) on Kemal::InitHandler
2016-07-17 18:15:12 +03:00
Sdogruyol
09d9e708f1
Introduce Kemal::InitHandler to initialize HTTP::Server::Context with defaults
2016-07-17 18:11:26 +03:00
Sdogruyol
725e051723
Document helpers
2016-07-17 17:06:49 +03:00
Sdogruyol
f7484d14d3
Use nested module declaration
2016-07-17 14:43:13 +03:00
Sdogruyol
4edebcf8eb
Format
2016-07-17 14:31:45 +03:00
Sdogruyol
6ffa4af0e1
Remove redundat http require and move it to kemal.cr
2016-07-17 14:28:21 +03:00
Sdogruyol
d11b702ee4
More docs
2016-07-17 14:26:22 +03:00
Sdogruyol
8aab44f7cd
Fix typo
2016-07-17 14:13:05 +03:00
Sdogruyol
b5ff93c677
Add docs
2016-07-17 14:10:56 +03:00
Sdogruyol
09d82ed74b
Add context store
2016-07-14 21:56:01 +03:00
sdogruyol
dee1d1c58b
Make macro variables local
2016-07-13 16:24:25 +03:00
sdogruyol
fb5ac9e0b6
Don't remove #write from common_log_handler
2016-07-13 14:42:41 +03:00
Sdogruyol
e6e70fe222
Don't load unless caller and content matches for content_for
2016-07-10 15:01:00 +03:00
Sdogruyol
ce2ffed705
Don't yield content if there's not any content_for it
2016-07-10 13:24:38 +03:00
Sdogruyol
f3175bdb72
Split helpers.cr into helpers/macros.cr and helpers/helpers.cr
2016-07-10 13:03:09 +03:00
Sdogruyol
daac09a859
Add doc for content_for
2016-07-10 13:00:13 +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
9d84d51975
No need to rewind STDOUT and File handler in CommonLogHandler
2016-07-05 20:15:36 +03:00
Sdogruyol
ae25d0a774
Optimize CommonLogHandler to directly use the handler instead of string interpolation
2016-07-05 20:11:03 +03:00
Sdogruyol
20a174b66e
Add extra_options from CLI
2016-07-04 20:23:16 +03:00
Sdogruyol
2c0dc7fa63
Read env from KEMAL_ENV instead of -e. Fixes #168
2016-07-03 23:49: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
8f5736a057
Need to initialize the session token or forms won't render
2016-06-28 16:46:45 -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
sdogruyol
f92d812c32
Format
2016-06-15 08:58:14 +03:00
Omar Roth
ac4a5afc05
Fix ssl and specs for 0.18
2016-06-14 16:18:00 -05:00