我有一个使用我的模块化Sinatra应用程序
run Rack::URLMap
添加各种服务,其中每个服务都是Sinatra :: Base
我已经在使用settings
方法的服务之一中添加了中间件。看来NewRelic机架中间件没有公开这种方法。
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 '/' ....
[在本地,一切正常,但是,在部署时,似乎在NewRelic :: Rack之后添加了MyMiddleware,因此,当调用中间件时,@ app不再是MyService,它是NewRelic :: Rack,没有公开的[ C0]方法。
其他人有没有经历过?我正在使用settings
我能够通过更新中间件来解决此问题