Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Github API 502 error

Tags:

github

curl

api

I'm trying to add a user to a Github repository via their API, but I always get a 502 Bad Gateway error. With curl I send a request like this (<...> replaced by a real owner, repo, etc.):

curl -i -H 'Authorization: token xxxxxxxxxx' -XPUT https://api.github.com/repos/<owner>/<repo>/collaborators/<username>

I also tried it with this url:

curl -i -H 'Authorization: token xxxxxxxxxx' -XPUT https://api.github.com/teams/<id>/members/<username>

As token I used a newly created Personal Access Tokens

But both times I get this back

HTTP/1.0 502 Bad Gateway
Cache-Control: no-cache
Connection: close
Content-Type: text/html

<html><body><h1>502 Bad Gateway</h1>
The server returned an invalid or incomplete response.
</body></html>

A GET on each URL works fine but a DELETE doesn't work either. So maybe it has to do with curl.

like image 971
foodev Avatar asked Feb 11 '14 09:02

foodev


1 Answers

Quoting the reply from GitHub's support with changes in italic:

You're just getting trolled by HTTP and curl.

When you make a PUT request with no body, curl doesn't explicitly set a Content-Length header for that request. However, PUT requests with no Content-Length confuse servers and they respond in weird ways.

Can you please try explicitly setting the Content-Lenght header to 0, or supplying an empty body when making that request (so that curl can set the header for you)? You can accomplish that adding

-d ""
in your command.

like image 196
Raniere Silva Avatar answered Oct 17 '22 18:10

Raniere Silva