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

N. *_*ola 4 proxy http-proxy phoenix-framework

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

我如何使用 Phoenix 框架来做到这一点?

sre*_*nig 5

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

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
Run Code Online (Sandbox Code Playgroud)

对于整个长生不老药/凤凰党来说仍然很新,所以我确信还有一些东西需要改进。例如,它不能正确处理重定向。