Support launching with rackup on Rack 3#270
Support launching with rackup on Rack 3#270pratyush07-hub wants to merge 8 commits intorage-rb:mainfrom
Conversation
5a369b4 to
59dfd27
Compare
…d middleware integration
|
Hi @rsamoilov , This PR is now ready for your review. PTAL! |
|
I can see the following error when trying to run Am I doing something wrong? Also, there's an existing Rack handler in Iodine - https://github.com/rage-rb/iodine/blob/master/lib/rack/handler/iodine.rb. Do you think these changes should go in there instead? |
|
@rsamoilov , The NoMethodError occurred because the handler wasn't explicitly registered in the discovery files, causing it to be nil in some loading scenarios. I have fixed this by adding explicit registration to Regarding the move to iodine, keeping the rage handler allows for better branding (rackup-s rage) and gives us direct control over Rage-specific startup logic. Furthermore, providing discovery files in rage makes the handler immediately available without requiring users to know about the internal relationship with iodine. Additionally, rage-iodine currently lacks Rackup (Rack 3) registration, so having it here ensures full support for the latest Rack versions. |
Description
Currently, Rage works correctly on Rack 2 but fails on Rack 3 due to the move of the handler registry to the rackup gem and the new Rackup::Handler namespace.
This PR adds support for launching Rage applications using the rackup command on Rack 3.
Changes
lib/rage-rb.rb.lib/rack/handler/rage.rbandlib/rackup/handler/rage.rbto enable automatic identification of the Rage handler via the -s rage flag.Verification
Closes #259