HTTParty POST отправляет GET - PullRequest
       11

HTTParty POST отправляет GET

0 голосов
/ 22 декабря 2018

Я бью Github v3 rest api , я делаю POST-запрос, пытаясь создать комментарий к тестовому PR.Я получаю ответ 200, и после проверки запрос был отправлен как GET, а не POST:

response = HTTParty.post(
    "http://api.github.com/repos/my_github/my_repo/issues/1/comments",
    body: { body: "works" }.to_json,
    headers: {
      "Authorization": "Bearer #{ENV['GITHUB_TOKEN']}",
      "Content-Type": "application/json",
      "User-Agent": ENV["GITHUB_USER_AGENT"]
    }
)

response.request
=> #<HTTParty::Request:0x007fdd45a42688
 @http_method=Net::HTTP::Get,
 @last_response=#<Net::HTTPOK 200 OK readbody=true>,
 @last_uri=#<URI::HTTPS https://api.github.com/repos/my_github/my_repo/issues/1/comments>,
 @options=
  {:limit=>4,
   :assume_utf16_is_big_endian=>true,
   :default_params=>{},
   :follow_redirects=>true,
   :parser=>HTTParty::Parser,
   :uri_adapter=>URI,
   :connection_adapter=>HTTParty::ConnectionAdapter,
   :body=>{:body=>"works"},
   :headers=>
    {:Authorization=>"Bearer my_token",
     :Accept=>"application/vnd.github.machine-man-preview+json",
     :"Content-Type"=>"application/json",
     :"User-Agent"=>"me"}},
 @path=#<URI::HTTPS https://api.github.com/repos/my_github/my_repo/issues/1/comments>,

Тело ответа представляет собой список всех комментариев к этому PR, которыйэто запрос GET к тому же URL.Я понятия не имею, почему он не отправляет POST.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 22 декабря 2018

Измените ваш запрос на использование HTTPS, а не HTTP:

https://api.github.com/repos/my_github/my_repo/issues/1/comments

вместо:

http://api.github.com/repos/my_github/my_repo/issues/1/comments

, и вы получите:

response.request
=> #<HTTParty::Request:0x00007ffdb81c7e48 @changed_hosts=false, @credentials_sent=false, @http_method=Net::HTTP::Post ...

, а также:

response.code
=> 201
...