如何在Phoenix框架中转发客户端请求,充当代理?

时间:2015-10-13 08:18:11

标签: proxy http-proxy phoenix-framework

我想在我的应用程序中充当某些请求的代理。 例如:如果用户请求链接" http://myapp/proxy" ,我想将请求转发到外部网站并检索对用户的响应。 这里的问题是我不想进行URL重定向,但我想转发客户端请求,代表用户行事。

我怎样才能使用Phoenix框架?

2 个答案:

答案 0 :(得分:4)

为了完整起见,这就是我所做的:

case HTTPoison.get(url) do
    { :ok, response } -> conn |> put_resp_content_type(response.headers["Content-Type"]) |> send_resp(response.status_code, response.body)
    { :error, _error } -> conn |> put_status(:bad_gateway) |> render(AssetsProxy.ErrorView, "502.html")
  end
对于整个灵药/凤凰派对来说还是很新的,所以我确信有些东西需要改进。例如它无法正确处理重定向。

答案 1 :(得分:0)

To" return"将数据返回给客户端,代码如下:

HTTPoison.start
response = HTTPoison.post!(url, body, [])

conn |> halt   |>
html  response.body