Я пытаюсь понять, как работает часть стойки.Как Rack :: Server.build_app добавить промежуточное ПО?
В Lib/стойку/server.rb есть эта линия (344) ...
https://github.com/rack/rack/blob/master/lib/rack/server.rb
middleware = middleware.call(self) if middleware.respond_to?(:call)
... и это выглядит как часть этой линии будет эквивалентно :
Rack::ContentLength.call(Rack::Server)
... если мы используем Rack :: ContentLength в качестве промежуточного слоя пример по умолчанию (он выглядит, как он будет один).
https://github.com/rack/rack/blob/master/lib/rack/content_length.rb (строка 14)
Могу ли я читать это правильно, или я что-то пропустил? Похоже, что Rack :: ContentLength a) хочет сначала инициализироваться, и b) хочет другой аргумент для call
, поэтому я смущен.