jruby-rack
jruby-rack copied to clipboard
(experimental WIP) Rack 3.x support
Highly WIP/experimental right now as currently involves a rewrite/re-"port-from-rack" of the parameter parsing algorithm, and needs further discussion since this library diverges from Rack in some respects already, and we'll need to decide whether we will persist with these in v3 operation.
https://github.com/rack/rack/blob/main/UPGRADE-GUIDE.md
Will also summarise the open discussion points at some point.
Open questions/discussion point
- [ ] "Invalid nested query parsing syntax" support needs review and discussion, especially the inconsistencies in the existing impl depending on
- [x] Need to vendor
rack-sessionalso?rackup? Or rely on Rails/frameworks to bring them in?- Not necessary to vendor, because not everything uses either of them
- actually not sure we should vendor at all these days since everyone is using bundler, right?
- [ ] Check whether removing the
HeaderHashwrapper for error app has any effect on Rack 2.2 - [x] Remove rewindable support on 3.x since it is no longer a requirement?
- Won't do this now at least, as things still rely on it, seemingly. (e.g the demo apps)
- [ ] Check response header array logic is compatible
- [ ] Investigate whether we supporting response hijacking at all before, and whether
#callsupport is needed - [ ] Are the changes to remove optional environment keys worth it, or easier to just keep them?
- [x] Sanity check with examples and warbler
- Examples updated to Rack 3.2 and JRuby 10 - all seem fine.