Commit Graph

416 Commits

Author SHA1 Message Date
Cris Ward 03daf2aee2 Added `Accept-Ranges` header 2017-09-28 16:02:37 +01:00
Cris Ward 183ae42a54 corrected content length 2017-09-28 14:17:12 +01:00
Cris Ward 6c11f943d0 Better fix for safari video bug
This seems to work everywhere that I've tested.
2017-09-28 12:07:26 +01:00
Cris Ward 1423c96d0a Allows videos to be opened with correct mime type 2017-09-28 11:13:55 +01:00
Cris Ward 81f2ee7815 Fix for video in safari
Video doesn't work safari.

It seem to be to do with the content-range header. Safari initially asked for the first byte. 
However with a single byte request, the header outputs
`bytes 0-0/1000` (if this file is 1000 bytes in size)

It does work however if we make the end value 1. But removing the `-1` breaks it in chrome. So I suggest this change, which means the end can't be smaller than 1.
2017-09-28 11:12:44 +01:00
Serdar Dogruyol 00981bcf44 Improve websocket match logic. Fixes #401 2017-09-14 19:59:22 +03:00
Serdar Dogruyol e07be72dcf Remove ws_routes from route handler 2017-09-10 15:45:57 +03:00
Serdar Dogruyol fe9d193418 Seperate websocket and websocket handler. Fixes #395 2017-09-10 14:41:07 +03:00
Serdar Dogruyol 3050b75f0a Tidy up config properties 2017-09-06 23:58:55 +03:00
Serdar Dogruyol 731b2e0d5b Bump version to 0.21.0 2017-09-05 14:07:46 +03:00
Serdar Dogruyol 8fb5be2a42 Remove redundant casts 2017-09-05 12:03:37 +03:00
Serdar Dogruyol 1c069ab643 Refactor 2017-09-05 11:10:04 +03:00
mang 249912222d Set correct namespace for Route
Fixes compile error "undefined constant Route"
2017-09-05 01:25:42 +02:00
Serdar Dogruyol 422313425c Remove redundant intermediate var from process_route 2017-09-04 23:46:53 +03:00
Serdar Dogruyol b8e3298925 Use request.content_type 2017-09-04 18:54:06 +03:00
Serdar Dogruyol a1520de7ed Leave tmpfile management to OS 2017-09-04 17:46:09 +03:00
Serdar Dogruyol 79e324efaf Add more types to method signatures 2017-08-25 16:41:02 +03:00
Serdar Dogruyol 00217d9545 Add more types to method signatures 2017-08-24 23:32:43 +03:00
Serdar Dogruyol efd97b75f9 Refactor 2017-08-24 18:52:10 +03:00
Serdar Dogruyol cfedc7c538 Add docs for static_headers 2017-08-24 01:24:19 +03:00
Sdogruyol 607aaeffe3 Allow headers in built-in static file server 2017-08-22 15:29:51 +03:00
Sdogruyol 3fd3349383 Don't raise on WS route not found 2017-08-21 12:38:28 +03:00
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