【问题标题】:How to redirect with cowboy_rest如何使用牛仔休息重定向
【发布时间】:2015-11-03 11:46:36
【问题描述】:

我在如何通过 GET 请求使用 cowboy_rest 进行重定向时遇到问题。有什么方法可以在 header 中设置 > 以响应 cowboy_rest 的浏览器?

重定向是在牛仔休息中使用 POST 方法进行的 {{ok, URL_to_redirect}, 请求, 状态}

但即使 > 设置在 cowboy_req 的标头中,我也找不到使用 GET 方法重定向的方法。

谢谢,

【问题讨论】:

    标签: rest erlang cowboy


    【解决方案1】:

    标题现在是地图

    {ok, NewReq} = cowboy_req:reply(
                     302,
                     #{<<"Location">> => <<"http://www.redirect-url.com">>},
                     <<>>,
                     Req),
    {halt, NewReq, State}
    

    【讨论】:

      【解决方案2】:

      您可以使用cowboy_req:reply/4{halt, Req, State} 来停止执行:

      {ok, NewReq} = cowboy_req:reply(
                       302,
                       [{<<"Location">>, <<"http://www.redirect-url.com">>}],
                       <<>>,
                       Req),
      {halt, NewReq, State}
      

      【讨论】:

      • 感谢 P_A,正确的重定向代码是 307。由于我使用的是 cowboy_rest (RESTful) 句柄,所以不需要 {halt, NewReq, State}。并感到奇怪为什么它不需要添加 {halt, NewReq, State}。
      猜你喜欢
      • 2016-07-19
      • 2015-04-18
      • 1970-01-01
      • 2016-05-10
      • 2017-02-01
      • 2020-09-28
      • 1970-01-01
      • 2016-08-02
      • 2014-04-01
      相关资源
      最近更新 更多