alpacahq / alpacahq/Alpaca-API

Endpoints should return 308 status rather than 301 on POST requests

未关闭
#134 2 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
没有语言数据
星标
173
派生
17
PR 合并指标
30 天内没有已合并 PR

描述

Currently, the api issues a 301 response if a request arrives with a `http` scheme as opposed to an `https` scheme. The 301 status works fine for `GET` requests and forwards the request correctly, but for some user-agents a 301 status leads to a `POST` request being changed to a `GET` request.

A `308` response serves the same purpose as a `301`, but leaves the method of the request intact, meaning that the `POST` request is served correctly. Here's a cURL request that you can try out:
```curl
curl -L -X POST -H "apca-api-key-id: KEY_ID_HERE" -H "apca-api-secret-key: SECRET_KEY_HERE" -H "Content-Type: application/json" --data '{"symbol":"V","qty":"1","side":"buy","type":"market","time_in_force":"gtc"} http://paper-api.alpaca.markets/v2/orders'
```
Because of the 301 status, the POST method in that request gets clobbered into a GET method after the redirect and we get an error

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。