W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
傳入的請求對象可以在請求層(過濾器,路由,錯誤處理)通過 request 方法被訪問:
# 在 http://example.com/example 上運行的應(yīng)用
get '/foo' do
request.body # 被客戶端設(shè)定的請求體(見下)
request.scheme # "http"
request.script_name # "/example"
request.path_info # "/foo"
request.port # 80
request.request_method # "GET"
request.query_string # ""
request.content_length # request.body的長度
request.media_type # request.body的媒體類型
request.host # "example.com"
request.get? # true (其他動詞也具有類似方法)
request.form_data? # false
request["SOME_HEADER"] # SOME_HEADER header的值
request.referrer # 客戶端的referrer 或者 '/'
request.user_agent # user agent (被 :agent 條件使用)
request.cookies # 瀏覽器 cookies 哈希
request.xhr? # 這是否是ajax請求?ajax請求不需要返回
request.url # "http://example.com/example/foo"
request.path # "/example/foo"
request.ip # 客戶端IP地址
request.secure? # false(如果是ssl則為true)
request.forwarded? # true (如果是運行在反向代理之后)
request.env # Rack中使用的未處理的env哈希
end
一些選項,例如 ?script_name
? 或者 ?path_info
? 也是可寫的:
before { request.path_info = "/" }
get "/" do
"all requests end up here"
end
request.body 是一個IO或者StringIO對象:
post "/api" do
request.body.rewind # 如果已經(jīng)有人讀了它
data = JSON.parse request.body.read
"Hello #{data['name']}!"
end
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: