저는 랙 조각이 어떻게 작동하는지 이해하려고합니다.Rack :: Server.build_app는 미들웨어를 어떻게 추가합니까?
lib 디렉토리/랙이 라인 (344)이있다/server.rb]로에서...
middleware = middleware.call(self) if middleware.respond_to?(:call)
https://github.com/rack/rack/blob/master/lib/rack/server.rb
... 그리고 그 라인의 일부에 해당 될 것 같습니다 : 우리는 예를 들어 기본 미들웨어로 랙 :: ContentLength을 사용하는 경우Rack::ContentLength.call(Rack::Server)
은 (는 하나가 될 것이다 것 같습니다).
https://github.com/rack/rack/blob/master/lib/rack/content_length.rb (라인 14)
내가 제대로이 글을 읽는 건가요, 아니면 내가 뭔가를 놓친? Rack :: ContentLength a)가 먼저 초기화되고 b) call
과 다른 인수를 원해서 혼란 스럽습니다.