[英]How do you set the WEBRick options parameter in the run method with Padrino
我不想胡闹帕德里诺。
我仍然希望能够从命令行使用命令padrino start -d。
我想在padrino中启动并运行SSL。 在Sinatra中,我只是做:
Rack::Handler::WEBrick.run MyServer, MyServerOptionsWithAppropriateSSLStuffEtc
我发现该文件位于Padrino内核的深处,可以处理这些选项的设置,但我确实不想猴子修补该应用程序。
理想情况下,我希望可以通过某种方式在Padrino :: Application子类中设置选项。
到目前为止,我还没有找到任何有关如何执行此操作的文档,或者甚至没有找到任何文档。
嗯,你应该能够做到这一点。
在您的项目文件夹中,您应该看到config.ru
尝试编辑它以删除最后一行:
Rack::Handler::WEBrick.run Padrino.application, MyServerOptionsWithAppropriateSSLStuff
然后从命令行:
$ rackup
我知道这已经很老了,但是如果有人要干净地做这件事,这就是我的用法:
class MyApplication < ::Sinatra::Base
# ...
def self.server_settings
{ key: value, ... }
end
# ...
end
您还可以在运行时之前注入设置:
MyApplication.class_exec(server_settings) do |server_params|
def self.server_settings
server_params
end
end
我经常使用第二个示例将自定义记录器注入到我的规范应用程序中。
例如:
module CustomLogger
def logger
settings.try(:server_settings)[:Logger] || request.logger
end
end
MyApplication.class_exec(CustomLogger) do |logger_module|
helpers logger_module
def self.server_settings
# global specified in guard/spec helper
{ Logger: $LOGGER }
end
end
class MyApplication < ::Sinatra::Base
enable :logging
get '/' do
logger.info "FOO"
end
end
MyApplication.run!
请参阅此源链接 ,以获取有关Application::self.run!
server_settings
用法的更多信息Application::self.run!
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.