[英]Forward request using Rack & Faraday
我想編寫一個將請求轉發到其他域的Rack應用。 法拉第寶石可能對此很好。 這樣的事情會很好:
我的config.ru
文件:
...
my_app = lambda do |env|
conn = Faraday.new(env)
conn.url = "http://some-other-domain.com"
env.get? ? conn.get : conn.post
end
run my_app
可以這么簡單嗎? 有任何想法嗎?
您可能想看看rack-rewrite( https://github.com/jtrupiano/rack-rewrite )。 您可以使用它來定義和應用重寫和重定向規則。 適合您的用例的機架重寫的可能用法如下:
require 'rack/rewrite'
use Rack::Rewrite do
r301 %r{.*}, 'http://mynewdomain.com$&', :if => Proc.new {|rack_env|
rack_env['SERVER_NAME'] != 'mynewdomain.com'
}
end
# rest of your app
重寫規則的簽名是rewrite_method(request_url_expression,rewrite_url_expression,選項)。 在此示例中,方法#r301將為與給定正則表達式匹配的所有請求url提供永久重定向,並使用請求URI將其重定向到新域(使用$&替換運算符)。 文檔中有更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.