Sinatra Rack 中間件

2023-12-20 15:43 更新

Sinatra 依靠 Rack, 一個面向 Ruby web 框架的最小標準接口。Rack 的一個最有趣的面向應用開發(fā)者的能力是支持“中間件”——坐落在服務器和你的應用之間,監(jiān)視 并/或 操作 HTTP 請求/響應以 提供多樣類型的常用功能。

Sinatra 讓建立 Rack 中間件管道異常簡單,通過頂層的 use 方法:

require 'sinatra'
require 'my_custom_middleware'

use Rack::Lint
use MyCustomMiddleware

get '/hello' do
  'Hello World'
end

use 的語義和在 Rack::Builder DSL(在 rack 文件中最頻繁使用) 中定義的完全一樣。例如,use 方法接受 多個/可變 參數(shù),包括代碼塊:

use Rack::Auth::Basic do |username, password|
  username == 'admin' && password == 'secret'
end

Rack 中分布有多樣的標準中間件,針對日志,調(diào)試,URL 路由,認證和 session 處理。Sinatra 會自動使用這里面的大部分組件,所以你一般不需要顯示地 use 他們。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號