У меня есть модульное приложение Sinatra, где я использую
run Rack::URLMap
для добавления различных сервисов, где каждый сервис представляет собой Sinatra :: Base
Я добавил промежуточное ПО в одном служб, использующих метод settings
. Похоже, что промежуточное ПО стойки NewReli c не раскрывает этот метод.
class MyService < Sinatra::Base
configure do
set :optional_auth, [
{ method: :get, path: ''},
{ method: :get, path: '/:id'},
{ method: :get, path: '/:id/attachments'},
{ method: :get, path: '/:id/comments'}
]
mime_type :json, 'application/json'
use Rack::PostBodyContentTypeParser
use MyMiddleware
end
get '/' ....
Локально все работает нормально, однако при развертывании MyMiddleware добавляется после NewReli c :: Rack, поэтому при вызове промежуточного программного обеспечения @app больше не является MyService это NewReli c :: Стойка без открытого метода settings
.
Кто-нибудь еще испытывал это? Я запускаю приложение с bundle exec puma