rake is a wrapper for wrap up the http response and request, provide a unite API for server, framework and middleware software
- Rack::Sendfile
設定伺服器的 X-Sendfile 標頭(header)。使用 config.action_dispatch.x_sendfile_header 來設定。
- ActionDispatch::Static
用來決定是否由 Rails 提供靜態 assets。使用 config.serve_static_assets 選項來啟用或禁用(true 啟用)
- Rack::Lock
將 env["rack.multithread"] 設為 false ,則可將應用程式包在 Mutex 裡。
- ActiveSupport::Cache::Strategy::LocalCache::Middleware
用來做 memory cache。注意,此 cache 不是線程安全的。
- Rack::Runtime
設定 X-Runtime 標頭,並記錄請求的執行時間(秒為單位)。
- Rack::MethodOverride
如有設定 params[:_method],則允許可以重寫方法。這個 Middleware 實作了 HTTP PUT 與 DELETE 方法。
- ActionDispatch::RequestId
在響應中產生獨立的 X-Request-Id 標頭,並啟用 ActionDispatch::Request#uuid 方法。
- Rails::Rack::Logger
請求開始時通知 Log,請求結束寫入 Log。
- ActionDispatch::ShowExceptions
Rescue 任何由應用程式拋出的異常,並呼叫處理異常的程式,將異常以適合的格式顯示給使用者。
- ActionDispatch::DebugExceptions
負責記錄異常,並在請求來自本機時,顯示除錯頁面。
- ActionDispatch::RemoteIp
檢查 IP 欺騙攻擊。
- ActionDispatch::Reloader
準備與清除回呼。主要在開發模式下用來重新加載程式碼。
- ActionDispatch::Callbacks
處理請求前,先執行預備好的回呼。
- ActiveRecord::Migration::CheckPending
檢查是否有未執行的遷移檔案,有的話拋出 PendingMigrationError 錯誤。
- ActiveRecord::ConnectionAdapters::ConnectionManagement
每個請求結束後,若 rack.test 不為真,則將作用中的連線清除。
- ActiveRecord::QueryCache
啟用 Active Record 的查詢快取。
- ActionDispatch::Cookies
幫請求設定 Cookie。
- ActionDispatch::Session::CookieStore
負責把 Session 存到 Cookie。
- ActionDispatch::Flash
config.action_controller.session_store 設定為真時,設定提示訊息的鍵。
- ActionDispatch::ParamsParser
解析請求的參數放到 params Hash 裡。
- ActionDispatch::Head
將 HTTP HEAD 請求轉換成 GET 請求處理。
- Rack::ConditionalGet
給伺服器加入 HTTP 的 Conditional GET 支持,頁面沒有變化,就不會回傳響應。
- Rack::ETag
為所有字串 Body 加上 ETag 標頭,用來驗證快取。
沒有留言:
張貼留言