Sdogruyol
2b604dfb30
Add context to WebSocket. This allows one to use context.params like url,query, body e.g
2017-08-20 20:01:49 +03:00
Will Leinweber
5a83522866
allow %w in Handler macros ( #385 )
2017-08-18 10:19:21 +03:00
Benoist
fc4c97aafd
Null logging should not print anything to STDOUT ( #381 )
2017-07-30 15:08:02 +03:00
Cris Ward
cd5fab8c2f
X-Content-Type-Options = "nosniff" #379 ( #380 )
...
security header for older browsers to prevent content sniffing
2017-07-22 10:34:47 +03:00
sdogruyol
1d056b203b
Dynamically insert handlers. Fixes #376
2017-07-11 11:22:35 +03:00
sdogruyol
b194b0b03c
Don't use single line block syntax
2017-06-23 12:18:40 +03:00
sdogruyol
0724e07c22
Make Route a Struct
2017-05-13 18:39:11 -07:00
sdogruyol
ce024ba748
Use replace instead of each for replacing handlers
2017-05-13 09:16:59 -07:00
sdogruyol
62946fd987
Modularize handlers
2017-05-12 16:18:50 -07:00
sdogruyol
9f01eb90e1
Format
2017-05-09 10:46:25 +03:00
sdogruyol
e695a491b7
Revert "Modiy HTTP::Params.[] to fetch all params"
...
This reverts commit c0745cc9e25068e9ce832ca5a79519de516ca4e5.
2017-05-08 17:28:21 +03:00
Rimas Silkaitis
0b4856b741
User defined context store types ( #339 )
...
allow the context storage to handle any types
2017-04-06 21:43:41 +03:00
Cris Ward
48128696c6
Prevent send_file returning filesize ( #344 )
...
Prevent send_file returning filesize
2017-03-29 15:09:25 +03:00
Sdogruyol
f511d21aa1
Dont call setup in config#add_filter_handler. Fixes #338
2017-03-25 20:37:11 +03:00
Sdogruyol
f4de825ab8
Revert "Skip files with empty #size in ParamParser, fixes #309 ( #333 )"
...
This reverts commit d0c034b911
.
2017-03-18 00:47:04 +03:00
Faustino Aguilar
4409f56ba7
404 responsive Kemal logo ( #334 )
...
Add responsive width to Kemal logo.
2017-03-17 11:16:38 +02:00
Serdar Dogruyol
1177619da9
Modiy HTTP::Params.[] to fetch all params ( #328 )
2017-03-13 16:52:42 +02:00
Sijawusz Pur Rahnama
d0c034b911
Skip files with empty #size in ParamParser, fixes #309 ( #333 )
2017-03-12 19:30:30 +02:00
Sijawusz Pur Rahnama
e0511743b1
Add getters to Route#{path,method} ( #332 )
2017-03-12 18:40:30 +02:00
Cris Ward
298a4b234b
moved static file handler code to send_file ( #330 )
2017-03-12 14:38:47 +02:00
Sijawusz Pur Rahnama
e276c0a278
Fix regression introduced in 1afb4cbfa8
( #331 )
2017-03-12 14:37:23 +02:00
Cris Ward
e6757d9a61
Added mime-type for favicons ( #329 )
2017-03-12 00:23:33 +02:00
Cris Ward
1c527c2d94
return no body for head route fixes #323 ( #325 )
2017-03-10 13:13:38 +02:00
Sdogruyol
a430b85ee7
Remove Gzip hack since https://github.com/crystal-lang/crystal/issues/4060 is fixed
2017-03-07 19:47:39 +03:00
Sdogruyol
8331beceef
Move Crystal core classes to ext
2017-03-04 00:01:26 +03:00
Sdogruyol
596452f838
More docs
2017-03-03 23:56:29 +03:00
Sdogruyol
7a772a9301
Improve docs
2017-03-03 23:42:08 +03:00
Brian J. Cardiff
25af53b70d
apply :nodoc: only to Kemal::FileUpload instead of the whole Kemal ( #320 )
2017-03-02 12:15:48 +02:00
Sdogruyol
d0e04918c3
Improve helper doc
2017-02-27 23:03:09 +03:00
Sdogruyol
b91f8a87eb
Improve helpers doc
2017-02-27 22:20:17 +03:00
Sdogruyol
e6af97c256
Make static_file_handler#etag private
2017-02-27 19:21:14 +03:00
Sdogruyol
2fe27f0890
Make FilterBlock inner class of Kemal::FilterHandler
2017-02-27 19:10:49 +03:00
Sdogruyol
c28abb987e
Fix #316 caused by Crystal
2017-02-24 10:25:52 +03:00
Serdar Dogruyol
b7ce53e5ab
Crystal 0.21.0 support ( #304 )
...
Crystal 0.21.0 support
2017-02-21 21:24:11 +02:00
Tom Richards
54e501e964
path_starts_with... method naming ( #310 )
...
Fix name of path_starts_with_... utility method
2017-02-15 19:38:26 +02:00
Sdogruyol
9607083e59
Mark inner methods as private
2017-02-13 23:39:40 +03:00
Sdogruyol
c6ff2c5d2e
Move file_upload to namespace
2017-02-13 22:57:58 +03:00
Serdar Dogruyol
6fe57d5e78
Better file upload
2017-02-11 15:33:42 +02:00
Sdogruyol
72dc6cf775
Fix missing semicolon in kemal#run
2017-02-06 20:16:51 +03:00
Sdogruyol
476b27892e
Early return from range if request type is not GET
2017-02-04 13:35:46 +03:00
Denys Vitali
0543142a10
Add RFC7233 support ( #299 )
...
Add RFC7233 support a.k.a "Range" headers support
2017-02-04 13:06:43 +03:00
Michael Barrett
c08bf71d88
Allow for disabling the shutdown message ( #292 )
...
Allow for disabling the shutdown message
2017-01-18 15:55:33 +03:00
Michael Barrett
209a9e576c
Add configurable startup logging as a block ( #291 )
...
Add overload for Kemal.run with just a block. This removes default logging.
2017-01-15 21:41:07 +03:00
Serdar Dogruyol
81a702264d
HTTP::Handler is not a class anymore
2016-12-24 14:22:44 +03:00
Sdogruyol
ac8ec0a07b
Remove redundant session stuff
2016-12-10 19:34:46 +03:00
Sdogruyol
e957664565
Don't forget debug statement :/
2016-12-08 22:15:18 +03:00
Sdogruyol
9c1c832c9a
Add Kemal.stop. Fixes #269
2016-12-08 13:50:54 +03:00
Sdogruyol
166fb96f34
Ugh we're not in ecr :/
2016-12-04 16:35:37 +03:00
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