Instead of adding support for either full or partial hijack, Sinatra should make use of "callable body" (https://github.com/rack/rack/pull/1745) introduced with Rack 3: https://github.com/rack/rack/blob/9eb4aa2646fdaaf22c7f6a9fa4c6dc73e587204f/UPGRADE-GUIDE.md#response-bodies-can-be-used-for-bi-directional-streaming _Originally posted by @dentarg in https://github.com/sinatra/sinatra/issues/604#issuecomment-1426416959_