Commit Graph

479 Commits

Author SHA1 Message Date
Anton Maminov 6f111ffbb0 allow to set filename for send_file
if the disposition type matches "attachment", this
indicates that the recipient should prompt the user to save the response
locally, rather than process it normally
2018-12-23 13:24:27 +02:00
Diego Guraieb a5d8df7382 Add support for parsing command line parameters from other sources than ARGV (#483) 2018-11-30 19:16:08 +03:00
Sijawusz Pur Rahnama 50f48509fd Use compile-time StringLiteral#downcase instead of runtime String#downcase (#508) 2018-11-14 13:47:46 +03:00
ikarigeorge 482b4a6e7d Fixing exclude method in Handler (#507) 2018-11-11 00:58:41 +03:00
Anton Maminov 6de5e7b929 Fix ParamParser files memoization (#503) 2018-11-05 22:51:22 +03:00
Serdar Dogruyol 7358994e91
Fix multipart upload and back params.files (#499) 2018-11-05 02:20:21 +03:00
Serdar Dogruyol 207f38251a Remove Kemal::OverrideMethodHandler 2018-11-05 02:18:52 +03:00
Julien Reichardt 21ab64511a Add allocation optimizations (#487) 2018-11-01 14:29:05 +03:00
Serdar Dogruyol a60168d039 Add docs to Kemal::OverrideMethodHandler 2018-10-26 18:45:04 +03:00
Serdar Dogruyol 3f7c8b4577 Add Kemal::OverrideMethodHandler 2018-10-26 15:00:24 +03:00
Brian Douglas Smith b389022b35 Remove deprecated alias HTTP::Server#bind_ssl (#495) 2018-09-20 11:15:05 +03:00
Serdar Dogruyol 4bb56d2376 Only clear cached_routes if there's a route 2018-09-17 09:51:56 +03:00
Serdar Dogruyol 1a8a3c5b1d Add cache size limit check to caching routes 2018-09-16 15:43:53 +03:00
Serdar Dogruyol 8fb028149b Cache http routes 2018-09-16 13:22:45 +03:00
Johannes Müller 1e894a39bc
Remove unused require "tempfile" 2018-09-06 11:17:30 +02:00
Serdar Dogruyol e468e2e340 route_defined? -> route_found? 2018-08-13 19:21:18 +03:00
Serdar Dogruyol 2b3ae85c34 Move response under ext 2018-08-13 16:29:32 +03:00
Johannes Müller b39c974a90 Update to use HTTP::Server#bind_ssl (#477) 2018-08-09 00:13:45 +03:00
Serdar Dogruyol 64fbe406d5
Merge pull request #465 from kemalcr/rework-param-parser
Rework param parser
2018-08-06 20:03:12 +03:00
Lewis E. Bogan 09bb1fcd40 add a VERSION constant (#471) 2018-07-16 05:55:53 +03:00
Rafał Wojsznis 1e18389f5f Remove etag logic as it's not implemented in Crystal 0.25.1 (#470) 2018-07-16 05:54:36 +03:00
Serdar Dogruyol 4a58bc9690 Remove env.params.files and FileUpload 2018-07-04 21:42:58 +03:00
Serdar Dogruyol d2ef57a128 Improve param parsing and remove url_params from HTTP::Request 2018-07-03 20:29:06 +03:00
Serdar Dogruyol ad5dc053c4 Remove _method override 2018-07-03 20:29:06 +03:00
Anton Maminov b8ec6ee328 set response status code before creating exception template (#468) 2018-07-02 10:28:00 +03:00
Serdar Dogruyol ced34b7651 Move exceptions and exception_page under helpers dir 2018-07-01 17:47:14 +03:00
Anton Maminov a13fe95201 Added new exception page (#466) 2018-07-01 16:43:04 +03:00
Serdar Dogruyol d0b4c0d609 Embed 404 image as SVG 2018-06-30 14:49:39 +03:00
Serdar Dogruyol 621342170a Tidy up Kemal.run 2018-06-30 14:34:41 +03:00
Johannes Müller bc661d58ae Refactor `Kemal.run` to allow custom port binding (#463) 2018-06-30 14:16:55 +03:00
Serdar Dogruyol eed97877a7
Simplify file upload parsing and support multiple uploads with same name (#458) 2018-06-27 23:33:28 +03:00
Hirofumi Shibata f916bad095 reset values to test with default value (#453) 2018-06-18 15:07:54 +03:00
Serdar Dogruyol a5870e7d24
Crystal 0.25.0 (#452) 2018-06-16 18:03:00 +03:00
V. Elenhaupt c2236acf3a Code fixes reported by static code analysis (#450) 2018-05-17 11:07:40 +03:00
Blacksmoke16 f3f7e319ae Ability to optionally disable powered-by header (#449) 2018-05-09 10:19:59 +03:00
Serdar Dogruyol 88b4737500 Don't serve 404 image dynamically 2018-03-19 22:44:24 +03:00
Serdar Dogruyol 6fbad555d0 Remove unused stuff 2018-03-17 17:58:19 +03:00
Serdar Dogruyol 536108c71b Refactor and fix some docs 2018-03-17 15:35:33 +03:00
Serdar Dogruyol 11295f0584 Revert "Don't use JSON::Type, use JSON::Any instead"
This reverts commit 34475b986a486730d696ddf52250c38d7e0cfe4a.
2018-03-10 11:11:42 +03:00
Serdar Dogruyol db00ecba1d
Don't use JSON::Type, use JSON::Any instead (#435) 2018-03-10 11:05:34 +03:00
Serdar Dogruyol 159e963404 Format with 0.24.1 formatter 2018-01-26 18:32:24 +03:00
Serdar Dogruyol 4034dab952 Add Kemal::Context.get? to safely access context storage. Fixes #428 2018-01-26 18:30:09 +03:00
Serdar Dogruyol 56d34deef9 Minor refactors 2017-12-08 21:35:02 +03:00
Serdar Dogruyol 8cb9770ec3 Use HTTP::Params.add instead of HTTP::Params.[]= 2017-11-20 17:23:11 +03:00
Serdar Dogruyol a3a0f40468 Revert "Parse body in multipart forms"
This reverts commit ca7c4dc0e8.
2017-11-20 15:01:16 +03:00
Serdar Dogruyol ca7c4dc0e8 Parse body in multipart forms 2017-11-19 18:14:06 +03:00
Serdar Dogruyol 902d87c0a7
Use Flate::Writer.open (#394) 2017-11-02 18:49:41 +03:00
Flora Rosenkreuz 0b9628dfea Add webm mime type to utils.cr (#413) 2017-10-13 15:37:50 +03:00
Serdar Dogruyol 5d737ee8f3 Rename common_log_handler and common_exception_handler 2017-10-06 20:34:18 +03:00
Serdar Dogruyol ac56973663 Format 2017-10-06 14:59:53 +03:00
Sijawusz Pur Rahnama 1d8908e673 Fixed macros indentation (#409) 2017-10-06 14:55:37 +03:00
Sijawusz Pur Rahnama 210e2c0801 Prettify docs (#410) 2017-10-06 14:53:53 +03:00
Serdar Dogruyol c2da18ed38 Use .empty? instead 2017-10-06 13:41:22 +03:00
Serdar Dogruyol 84839f4da7 Refactour handler radix names 2017-10-06 12:46:58 +03:00
Serdar Dogruyol 63e613a439 Don't try to call error_handlers if there isn't any 2017-10-05 19:52:57 +03:00
Serdar Dogruyol dfd127e1ed Don't use handler as the IO name 2017-10-05 19:31:47 +03:00
Serdar Dogruyol 677dc62832 Remove dead code for WebSocketHandler 2017-10-05 19:29:35 +03:00
Serdar Dogruyol 0b07070237 Don't initiliaze server if it's already initialized 2017-10-04 19:51:14 +03:00
Serdar Dogruyol ad692357d4 Allow config.server to be lazily initiliazed. Fixes #396 2017-10-04 19:42:41 +03:00
Serdar Dogruyol 61caa077b7 Improve namings 2017-10-02 23:56:02 +03:00
Cris Ward 30bdcc9759 only return strings from routes fixes #374 (#408) 2017-10-02 23:47:43 +03:00
Cris Ward 8cf3f67594 fix for #399 (#407)
* fix for #399

* updating travis

* added without release back in

* added no debug to get around llvm issue
2017-09-29 09:25:26 +03:00
Serdar Dogruyol a27e8859a6 Merge pull request #405 from crisward/patch-4
Fix for video in safari
2017-09-28 19:16:20 +03:00
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