Comments (5)
IMO this is a bug on rack side. OPTIONS * HTTP/1.1
is valid HTTP by the spec: https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.7
from pitchfork.
There is extra handling for OPTION *
added in rack/rack#2114, perhaps it contains some useful info for you.
Maybe that PR did it wrong?
from pitchfork.
Right, it's because it was previously seen as invalid by Rack, so the parser is special handling it:
pitchfork/ext/pitchfork_http/pitchfork_http.rl
Lines 337 to 345 in cd708bc
from pitchfork.
Yeah, I'm looking at this as well right now. A bit unfortunate, Rack 3.0 (and probably 2 as well) still require PATH_INFO
to start with /
. It's easy enough to change there but then it would only comply with the latest version.
The parser probably needs to become aware of the rack version. Would you mind me creating a PR for this?
from pitchfork.
Arf, there's also a problem with chunked encoding:
1) Failure:
HttpBasicTest#test_chunked_encoding [test/integration/test_http_basic.rb:40]:
Expected: "chunked"
Actual: nil
from pitchfork.
Related Issues (20)
- Bug: manual reforking doesn't check `fork_safe?`
- Explore: fairer load balancing HOT 2
- Sequel PG::ConnectionBad on refork. HOT 9
- Any way to make timeout do a sigterm or sigquit before sigkill? HOT 2
- Improve resiliency to process corruption HOT 1
- Weird behaviour reforking with Rails I18n translations HOT 3
- Support Ruby 3.3's `Process.warmup` before fork HOT 2
- question: Is it safe to use with unicorn-worker-killer? HOT 6
- feature request: make after_worker_fork to be called after forking mold HOT 6
- Thoughts on a plugin architecture HOT 5
- Improve `rack.after_reply`
- (maybe bug?) undefined method `close_write' for nil:NilClass (NoMethodError) HOT 4
- worker crashes (and dump backtrace) after fork HOT 9
- Unicorn migration guide HOT 1
- Explore: Task scheduling API HOT 5
- Fatal interaction with the `request_store` gem and `RACK_ENV` HOT 12
- Usage of the `logger` gem HOT 1
- `rack.hijack` results in `EOFError` when the response doesn't incude `content-length`
- Access to listener_names within before_service_worker_ready HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pitchfork.