Date | Commit message (Collapse) |
|
Update .travis.yml
|
|
|
|
Remove "mongrel" from server option's description
|
|
Currently [mongrel](https://github.com/mongrel/mongrel) is not maintained.
And it couldn't be built with any Ruby versions that supported by Rack.
|
|
Add Padrino to the supported web frameworks
|
|
Simplify some string creations
|
|
|
|
String.new with no arguments already returns binary strings.
|
|
|
|
Add Builder#freeze_app to freeze application and all middleware instances
|
|
Freezing the application and middleware instances can prevent
thread-safety issues at runtime. This addresses the issues
discussed in #1010.
Unlike the solution proposed by #1010, this is backwards compatible
as it is opt-in, the application and middleware instances are
only frozen if you choose to use freeze_app.
|
|
Use .httpdate for expires date formatting
|
|
Fix warnings and usage of $VERBOSE
|
|
Specified in RFC 7231, section 7.1.1.2: Date.
|
|
* rfc7231-sec6.3.6-205:
Revert "Add 205 Reset Content to the list of statuses without a message body"
|
|
* no-deflate:
deflater: remove "deflate" encoding support
|
|
Update bytesize usage after its removal from rack utils
|
|
|
|
Fix MethodOverride EOFError failure
|
|
|
|
|
|
|
|
RFC 7231, section 6.3.5 gives three possible options for what a
server MUST do when sending a 205 status code:
> Since the 205 status code implies that no additional content will be
> provided, a server MUST NOT generate a payload in a 205 response. In
> other words, a server MUST do one of the following for a 205
> response: a) indicate a zero-length body for the response by
> including a Content-Length header field with a value of 0; b)
> indicate a zero-length payload for the response by including a
> Transfer-Encoding header field with a value of chunked and a message
> body consisting of a single chunk of zero-length; or, c) close the
> connection immediately after sending the blank line terminating the
> header section.
rack itself has no control over c), but should leave options
a) and b) available for middleware and application authors.
https://tools.ietf.org/html/rfc7231#section-6.3.6
The older RFC 2616 text was vague and not specific about
what a server should do:
https://tools.ietf.org/html/rfc2616#section-10.2.6
I noticed this from Plack: https://metacpan.org/pod/Plack::Util
This reverts commit 2c5b076aaba6c83ffce8c6c2b5c49085c1abb5a5.
|
|
Add rdoc dependency
|
|
|
|
fix typo
|
|
typo fix
|
|
|
|
|
|
To support minitest 6 and prevent error message from minitest 5.
|
|
`must_be_nil` if expecting nil.
|
|
Change NEWS file into Markdown file extension
|
|
This way GitHub will render it correctly in browser.
|
|
Update example use of Rack::Deflater
|
|
Prevent exception caused by a race condition on multi-threaded servers
|
|
Response headers need not be a hash according to SPEC,
so grab the io_lambda the first time we iterate through
the headers and avoid an extra hash lookup.
|
|
Improve and test SessionHash#fetch
|
|
|
|
|
|
The correct global variable is called $VERBOSE, not $verbose. Fixed #1116
|
|
Handle NULL byte in multipart file name
|
|
|
|
|
|
Freeze default session options
|
|
Some code in my app have been accidentally mutating the default session options,
which broke some session behaviour.
It wasn't easy to track that down, so I'd like to suggest that we freeze this hash
to avoid mutation.
|
|
This will improve cache hit rates and reduce caching overhead at
small expense of increased header overhead for some user agents.
For reference, Varnish cache supports only gzip as well:
https://www.varnish-cache.org/docs/4.1/phk/gzip.html
In the past, "deflate" encoding was more likely to trigger
user-agent bugs, as noted in the comments removed with this
change as well as the Varnish documentation referenced above.
|
|
|
|
Remove json gem
|
|
|
|
Try harder when deciding whether to add a new array element
|