You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like the recommended way is to mount my Grape API in config/routes.rb for Rails 7. However, when I attempt to do that instead of the above it stops working. The only way I've been able to get both to successfully work together is the Cascade method above.
I like the Rack::Cascade solution because it's clean and independent, but then it doesn't sit behind other stack items, it's a whole stack of its own (e.g. caching or Rack::Cors). I think in the end the mot efficient solution is a single middleware stack where the bot API is mounted next to any other API. Would love to see 1) a proper extension point, 2) a working example added to the sample app, 3) documentation, and 4) a Rails sample/version.
Yeah, I'm at the point now where the Cascade isn't working so great. I'm trying to understand better what your monkey-patch above is doing.. to see if I can get it working in my app. Not sure I quite understand what it's doing quite yet though.
I have been unsuccessful in getting your monkey-patch to work yet.
I tried adding the below to my config.ru. Which I thought was an equivalent to what you posted above.. but it continues to block other routes.
module SlackRubyBotServer
module Api
module Endpoints
class MyEndpoint < Grape::API
mount MyApp::API
end
class RootEndpoint < Grape::API
mount MyEndpoint
end
end
end
end
run SlackRubyBotServer::Api::Middleware.instance
Activity
Altonymous commentedon Oct 27, 2022
So I had already figured out how to do it on my own prior to looking at this.
In essence all I did was modify config.ru to run SlackRubyBotServer alongside my Grape::API class...
run Rack::Cascade.new [SlackRubyBotServer::Api::Middleware.instance, MyApp::API]Altonymous commentedon Oct 28, 2022
It looks like the recommended way is to mount my Grape API in config/routes.rb for Rails 7. However, when I attempt to do that instead of the above it stops working. The only way I've been able to get both to successfully work together is the Cascade method above.
dblock commentedon Oct 28, 2022
I like the
Rack::Cascadesolution because it's clean and independent, but then it doesn't sit behind other stack items, it's a whole stack of its own (e.g. caching orRack::Cors). I think in the end the mot efficient solution is a single middleware stack where the bot API is mounted next to any other API. Would love to see 1) a proper extension point, 2) a working example added to the sample app, 3) documentation, and 4) a Rails sample/version.Altonymous commentedon Oct 28, 2022
Yeah, I'm at the point now where the Cascade isn't working so great. I'm trying to understand better what your monkey-patch above is doing.. to see if I can get it working in my app. Not sure I quite understand what it's doing quite yet though.
Thanks for the guidance so far!
Altonymous commentedon Oct 28, 2022
I have been unsuccessful in getting your monkey-patch to work yet.
I tried adding the below to my config.ru. Which I thought was an equivalent to what you posted above.. but it continues to block other routes.