Sinatra 可選的設(shè)置

2023-12-20 15:43 更新
  • absolute_redirects:如果被禁用,Sinatra 會(huì)允許使用相對(duì)路徑重定向,但是,Sinatra 就不再遵守 RFC 2616 標(biāo)準(zhǔn) (HTTP 1.1), 該標(biāo)準(zhǔn)只允許絕對(duì)路徑重定向。如果你的應(yīng)用運(yùn)行在一個(gè)未恰當(dāng)設(shè)置的反向代理之后,你需要啟用這個(gè)選項(xiàng)。注意 url 輔助方法 仍然會(huì)生成絕對(duì) URL,除非你傳入 false 作為第二參數(shù)。默認(rèn)禁用。
  • ?add_charsets?:設(shè)定 ?content_type? 輔助方法會(huì) 自動(dòng)加上字符集信息的多媒體類型。應(yīng)該添加而不是覆蓋這個(gè)選項(xiàng):?settings.add_charsets << "application/foobar"?
  • app_file:主應(yīng)用文件,用來檢測(cè)項(xiàng)目的根路徑,views 和 public 文件夾和內(nèi)聯(lián)模板。
  • bind:綁定的 IP 地址 (默認(rèn):0.0.0.0)。僅對(duì)于內(nèi)置的服務(wù)器有用。
  • default_encoding:默認(rèn)編碼 (默認(rèn)為 "utf-8")。
  • dump_errors:在 log 中顯示錯(cuò)誤。
  • environment:當(dāng)前環(huán)境,默認(rèn)是 ENV['RACK_ENV'],或者 "development" 如果不可用。
  • logging:使用 logger
  • lock:對(duì)每一個(gè)請(qǐng)求放置一個(gè)鎖,只使用進(jìn)程并發(fā)處理請(qǐng)求。如果你的應(yīng)用不是線程安全則需啟動(dòng)。默認(rèn)禁用。
  • ?method_override?:使用 _method 魔法以允許在舊的瀏覽器中在 表單中使用 put/delete 方法
  • port:監(jiān)聽的端口號(hào)。只對(duì)內(nèi)置服務(wù)器有用。
  • ?prefixed_redirects?:是否添加 request.script_name 到 重定向請(qǐng)求,如果沒有設(shè)定絕對(duì)路徑。那樣的話 redirect '/foo' 會(huì)和 redirect to('/foo') 起相同作用。默認(rèn)禁用。
  • public_folder:public 文件夾的位置。
  • reload_templates:是否每個(gè)請(qǐng)求都重新載入模板。在 development mode 和 Ruby 1.8.6 中被企業(yè)(用來 消除一個(gè) Ruby 內(nèi)存泄漏的 bug)。
  • root:項(xiàng)目的根目錄。
  • raise_errors:拋出異常(應(yīng)用會(huì)停下)。
  • run:如果啟用,Sinatra 會(huì)開啟 web 服務(wù)器。如果使用 rackup 或其他方式則不要啟用。
  • running:內(nèi)置的服務(wù)器在運(yùn)行嗎?不要修改這個(gè)設(shè)置!
  • server:服務(wù)器,或用于內(nèi)置服務(wù)器的列表。默認(rèn)是 [‘thin’, ‘mongrel’, ‘webrick’], 順序表明了 優(yōu)先級(jí)。
  • sessions:開啟基于 cookie 的 sesson。
  • show_exceptions:在瀏覽器中顯示一個(gè) stack trace。
  • static: Sinatra 是否處理靜態(tài)文件。當(dāng)服務(wù)器能夠處理則禁用。禁用會(huì)增強(qiáng)性能。默認(rèn)開啟。
  • ?static_cache_control?:但 Sinatra 處理靜態(tài)文件時(shí),設(shè)置該選項(xiàng)會(huì)在響應(yīng)頭信心中添加 ?Cache-Control? 頭信息,并且可以使用 ?cache_control? 輔助方法 (默認(rèn)禁用)。設(shè)置多個(gè)值時(shí),使用顯式數(shù)組:?set :static_cache_control, [:public, :max_age => 300]?
  • threaded: 設(shè)置為? true? ,則通知 ?EventMachine.defer? 處理請(qǐng)求
  • traps:是否處理系統(tǒng)信號(hào)
  • views: views 文件夾。如果沒有設(shè)置,則根據(jù)?app_file?中的設(shè)置。
  • ?x_cascade?:如果沒有匹配路由,是否設(shè)置?X-Cascade?。


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)