summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Prefer `**options`.fix-server-optionsSamuel Williams2020-01-237-8/+8
|
* Set Content-Length response header even for bodies not responding to to_aryJeremy Evans2020-01-222-4/+3
| | | | | | | | | | This to_ary check was previously there to work around an infinite loop issue due to Rack::Response#to_ary being defined. Rack::Response#to_ary has been removed, so this check can be removed, and the middleware can correctly calculate Content-Length for all valid rack responses. Fixes #734
* Fix multipart parser for special files #1308Christoph Wagner2020-01-222-3/+29
|
* Fix `use` with kwargsRyuta Kamizono2020-01-222-2/+3
| | | | | Rails also has similar issue and is already fixed in https://github.com/rails/rails/pull/38091.
* Enable `Layout/TrailingWhitespace` cop to prevent extra trailing space in futureRyuta Kamizono2020-01-227-6/+9
|
* Fix typosRyuta Kamizono2020-01-227-8/+8
|
* Make body not respond to to_path to Rack::Files range requestsJeremy Evans2020-01-212-11/+22
| | | | | | | | | | | | | If the body responds to to_path, the server is allowed to serve the file at that path and ignore the body. That works well for most requests, but not for range requests, since the correct byte range won't be served. Work around this issue by using a separate body class for the partial content responses that does not respond to to_path, and the current body class for non-partial content responses. Fixes #1235
* Merge pull request #1502 from mkasztelnik/fix-typo-in-padrino-changelog-entryRafael França2020-01-201-1/+1
|\ | | | | Fix typo in Padrino changelog entry
| * Fix typo in Padrino changelog entryMarek Kasztelnik2020-01-201-1/+1
|/
* Update Thin handler to better handle more optionsJeremy Evans2020-01-171-8/+14
| | | | | | | | This uses Thin::Controllers::Controller instead of Thin::Server. Thin::Controllers::Controller will do options parsing and then create a Thin::Server instance based on them. Fixes #745
* Support providing IO-like object to Rack::Multipart::UploadedFileJeremy Evans2020-01-183-13/+40
| | | | | | | | | | | | | | | | | | | | This changes the UploadedFile API to use keyword arguments, being backwards compatible with the previous API by keeping the positional arguments and making the keyword defaults be the positional argument values. The two new arguments to UploadedFile#initialize are filename and io. filename allows overriding the filename that will be used, instead of always using the base name of the path. io specifies an IO-like object that can be read from to get the data, overridding any provided path. This allows you to generate UploadedFile instances that previously were not possible without accessing the file system. This changes the multipart generator to only include a Content-Length for files with paths, and only include a filename in Content-Disposition if the UploadedFile has one. Fixes #1028.
* Do not clobber :BindAddress in Webrick handlerJeremy Evans2020-01-171-1/+3
| | | | | | | | If :BindAddress is currently set and :Host is not set, then :BindAddress is overwritten with the default_host, which is probably not the desired behavior in that scenario. Fixes #821
* Make Rack::Request#ssl? be true for wss schemeJeremy Evans2020-01-182-1/+5
| | | | | | | wss is used for Websockets sent over a TLS connection, just as https ised used for HTTP sent over a TLS connection. Fixes #1020
* Support a :cascade option for Rack::StaticJeremy Evans2020-01-172-0/+24
| | | | | | | This allows for handling missing files under a static path in a custom manner. Fixes #946
* Add test for multipart parsing without Content-DispositionJeremy Evans2020-01-172-0/+11
| | | | | | | | In this case, rack doesn't have a parameter name, so it uses the content type as the parameter name. Since there can be multiple parts without Content-Disposition, it uses an array. Fixes #984
* Make Rack::ShowExceptions handle invalid POST dataJeremy Evans2020-01-162-2/+23
| | | | | | Otherwise you get an exception trying to render the exception page. Fixes #991
* Add a test for space between cookies (Fixes #1039)Jeremy Evans2020-01-161-0/+3
|
* Add more documentation to Rack::MockRequest (Fixes #1098)Jeremy Evans2020-01-161-0/+17
|
* Implement SessionHash#digJeremy Evans2020-01-162-4/+20
| | | | | | | Now that rack supports Ruby 2.3+, it makes sense to implement dig. Fixes #1120
* Fix possible timing issue in deflater testsJeremy Evans2020-01-161-1/+1
| | | | | | Possibly start ends up rounded up and mtime rounded down. For the purposes of these specs, being 1 second off should not be a problem.
* Require password for basic authenticationJeremy Evans2020-01-162-1/+10
| | | | | | | Empty passwords are still allowed, but there must be a colon to separate username from password, as required by RFC 2617. Fixes #1138
* Skip deflating in Rack::Deflater if Content-Length is 0Jeremy Evans2020-01-162-0/+13
| | | | | | Fixes usage with Rack::Sendfile. Fixes #1142
* Merge pull request #1489 from kamipo/patch-1Rafael França2020-01-161-1/+1
|\ | | | | Update TargetRubyVersion to 2.3 in .rubocop.yml
| * Update TargetRubyVersion to 2.3 in .rubocop.ymlRyuta Kamizono2020-01-161-1/+1
|/ | | Since d81a5d3bdd20d80527164705b1fcfd0b7f4be6cd, Ruby 2.2 is no longer supported.
* Merge pull request #1487 from jeremyevans/limit-doc-specJeremy Evans2020-01-152-3/+44
|\
| * Document param_depth_limit in README and add specs for itJeremy Evans2020-01-152-3/+44
|/ | | | | | | | Also better document key_space_limit in README. Because key_space_limit doesn't affect nested hashes, I'm not sure what advantage there actually is to keeping it. Fixes #1206
* Merge pull request #1483 from jeremyevans/lint-response-arrayAaron Patterson2020-01-142-1/+25
|\ | | | | Make Rack::Lint check response is array with 3 elements
| * Make Rack::Lint check response is array with 3 elementsJeremy Evans2020-01-142-1/+25
|/ | | | | | This matches what is required by SPEC. Fixes #1239
* Update lib/rack/response.rbSamuel Williams2020-01-141-1/+1
| | | Co-Authored-By: Rafael França <rafael@franca.dev>
* Add new `Response.[]` and `MockResponse.[]` which are very similar. Fixes #1094.Samuel Williams2020-01-144-0/+30
|
* Update the core team listRafael Mendonça França2020-01-131-7/+10
| | | | | | And move a few people to Alumni [ci skip]
* Update core team in READMEJeremy Evans2020-01-111-1/+3
| | | | | I'm not sure if all of the other core team members listed are still active or should be moved to the Alumni section.
* #transform_keys no longer necessary, reverts #1401pavel2020-01-121-8/+0
|
* fix changelogpavel2020-01-121-1/+1
|
* Document Rack::Utils#best_q_match (Fixes #1367)Jeremy Evans2020-01-111-0/+4
|
* Update changelog for 2.1.1 stable.Samuel Williams2020-01-121-0/+4
|
* Fix: Add to_hash to wrap Hash and Session classesOleh Demianiuk2020-01-121-1/+1
|
* Remove chunked middleware from default server stack.Samuel Williams2020-01-121-2/+0
| | | | | | | | | The chunked middleware assumes details about the protocol level implementation. Due to recent changes from HTTP_VERSION to SERVER_PROTOCOL, this dormant middleware now appears to be breaking a lot of assumptions. https://github.com/rack/rack/issues/1472 https://github.com/rack/rack/issues/1266
* Improve install process.Samuel Williams2020-01-124-16/+35
|
* Added CONTRIBUTING.md.dblock2020-01-124-27/+142
|
* Changelog for 2.1.0Pete Nicholls2020-01-111-2/+26
|
* Handle case where session id key is requested but it is missingJeremy Evans2020-01-112-1/+74
| | | | | | | | | Use historical behavior of returning nil in this case. Add tests for Rack::Session::Abstract::PersistedSecure::SecureSessionHash, mostly based on the existing ones for Rack::Session::Abstract::SessionHash. Fixes #1433. Needs backport to 1.6 and 2.0.
* Drop support for Ruby 2.2 as it is well past EOL.Samuel Williams2020-01-112-12/+1
|
* Older Rubyies + WEBRick SSL are broken.Samuel Williams2020-01-111-2/+2
|
* Fix RuboCop violations.Samuel Williams2020-01-111-14/+13
|
* do not specify SSL version to support jrubyGregor Melhorn2020-01-111-2/+1
|
* fix SSLEnable for Webrick, see https://github.com/rack/rack/issues/1013Gregor Melhorn2020-01-112-0/+43
|
* Ensure body is closed after buffering it. Fixes #877.Samuel Williams2020-01-111-0/+2
|
* Add badge for documentation coverage.Samuel Williams2020-01-111-0/+1
|
* Update cookie parser to only accept `;` as delimiter.mrageh2020-01-111-6/+5
| | | | | | | | | | | | The cookie parse used to accept both `;` and `,` as delimiters. This follows the original specifications in RFC 2109 and RFC 2965, but both of these have been obsoleted by RFC 6265 which does not include the possibility of `,` as a delimiter in Cookie: headers. Note that `,` is still not allowed in cookie values (it is explicitly excluded from cookie-octets in RFC 6265). From now on the cookie parser will only accept `;` as a delimiter to adhere to RFC 6265.