Browse Source

Accepted mime type fixes

According to various blog posts of the official github developer website
[1] [2], the mime preview for Releases and Search are no longer needed.
Moreover, they recommend to use `application/vnd.github.v3+json` for
every requests.

[1] http://developer.github.com/changes/2013-11-04-releases-api-is-official/
[2] http://developer.github.com/changes/2013-10-29-search-api-becomes-an-official-part-of-github-api-v3/
Thomas Bruyelle 12 years ago
committed by Will Norris
parent
commit
0ca38ec285
5 changed files with 4 additions and 28 deletions
  1. +4
    -3
      github/github.go
  2. +0
    -10
      github/repos_releases.go
  3. +0
    -10
      github/repos_releases_test.go
  4. +0
    -1
      github/search.go
  5. +0
    -4
      github/search_test.go

+ 4
- 3
github/github.go View File

@ -32,8 +32,7 @@ const (
headerRateRemaining = "X-RateLimit-Remaining" headerRateRemaining = "X-RateLimit-Remaining"
headerRateReset = "X-RateLimit-Reset" headerRateReset = "X-RateLimit-Reset"
mimePreview = "application/vnd.github.preview"
mimeReleasePreview = "application/vnd.github.manifold-preview"
mediaTypeV3 = "application/vnd.github.v3+json"
) )
// A Client manages communication with the GitHub API. // A Client manages communication with the GitHub API.
@ -159,11 +158,12 @@ func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Requ
return nil, err return nil, err
} }
req.Header.Add("Accept", mediaTypeV3)
req.Header.Add("User-Agent", c.UserAgent) req.Header.Add("User-Agent", c.UserAgent)
return req, nil return req, nil
} }
// NewUploadRequest creates an upload request. A relative URL can be provided in
// NewUploadRequest creates an upload request. A relative URL can be provided in
// urlStr, in which case it is resolved relative to the UploadURL of the Client. // urlStr, in which case it is resolved relative to the UploadURL of the Client.
// Relative URLs should always be specified without a preceding slash. // Relative URLs should always be specified without a preceding slash.
func (c *Client) NewUploadRequest(urlStr string, reader io.Reader, contentType string) (*http.Request, error) { func (c *Client) NewUploadRequest(urlStr string, reader io.Reader, contentType string) (*http.Request, error) {
@ -178,6 +178,7 @@ func (c *Client) NewUploadRequest(urlStr string, reader io.Reader, contentType s
return nil, err return nil, err
} }
req.Header.Add("Accept", mediaTypeV3)
req.Header.Add("Content-Type", contentType) req.Header.Add("Content-Type", contentType)
req.Header.Add("User-Agent", c.UserAgent) req.Header.Add("User-Agent", c.UserAgent)
return req, nil return req, nil


+ 0
- 10
github/repos_releases.go View File

@ -59,7 +59,6 @@ func (s *RepositoriesService) ListReleases(owner, repo string) ([]RepositoryRele
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
releases := new([]RepositoryRelease) releases := new([]RepositoryRelease)
resp, err := s.client.Do(req, releases) resp, err := s.client.Do(req, releases)
@ -79,7 +78,6 @@ func (s *RepositoriesService) GetRelease(owner, repo string, id int) (*Repositor
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
release := new(RepositoryRelease) release := new(RepositoryRelease)
resp, err := s.client.Do(req, release) resp, err := s.client.Do(req, release)
@ -99,7 +97,6 @@ func (s *RepositoriesService) CreateRelease(owner, repo string, release *Reposit
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
r := new(RepositoryRelease) r := new(RepositoryRelease)
resp, err := s.client.Do(req, r) resp, err := s.client.Do(req, r)
@ -119,7 +116,6 @@ func (s *RepositoriesService) EditRelease(owner, repo string, id int, release *R
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
r := new(RepositoryRelease) r := new(RepositoryRelease)
resp, err := s.client.Do(req, r) resp, err := s.client.Do(req, r)
@ -139,7 +135,6 @@ func (s *RepositoriesService) DeleteRelease(owner, repo string, id int) (*Respon
if err != nil { if err != nil {
return nil, err return nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
return s.client.Do(req, nil) return s.client.Do(req, nil)
} }
@ -153,7 +148,6 @@ func (s *RepositoriesService) ListReleaseAssets(owner, repo string, id int) ([]R
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
assets := new([]ReleaseAsset) assets := new([]ReleaseAsset)
resp, err := s.client.Do(req, assets) resp, err := s.client.Do(req, assets)
@ -173,7 +167,6 @@ func (s *RepositoriesService) GetReleaseAsset(owner, repo string, id int) (*Rele
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
asset := new(ReleaseAsset) asset := new(ReleaseAsset)
resp, err := s.client.Do(req, asset) resp, err := s.client.Do(req, asset)
@ -193,7 +186,6 @@ func (s *RepositoriesService) EditReleaseAsset(owner, repo string, id int, relea
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
asset := new(ReleaseAsset) asset := new(ReleaseAsset)
resp, err := s.client.Do(req, asset) resp, err := s.client.Do(req, asset)
@ -213,7 +205,6 @@ func (s *RepositoriesService) DeleteReleaseAsset(owner, repo string, id int) (*R
if err != nil { if err != nil {
return nil, err return nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
return s.client.Do(req, nil) return s.client.Do(req, nil)
} }
@ -231,7 +222,6 @@ func (s *RepositoriesService) UploadReleaseAsset(owner, repo string, id int, opt
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
req.Header.Add("Accept", mimeReleasePreview)
asset := new(ReleaseAsset) asset := new(ReleaseAsset)
resp, err := s.client.Do(req, asset) resp, err := s.client.Do(req, asset)


+ 0
- 10
github/repos_releases_test.go View File

@ -20,7 +20,6 @@ func TestRepositoriesService_ListReleases(t *testing.T) {
mux.HandleFunc("/repos/o/r/releases", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/repos/o/r/releases", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimeReleasePreview)
fmt.Fprint(w, `[{"id":1}]`) fmt.Fprint(w, `[{"id":1}]`)
}) })
@ -40,7 +39,6 @@ func TestRepositoriesService_GetRelease(t *testing.T) {
mux.HandleFunc("/repos/o/r/releases/1", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/repos/o/r/releases/1", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimeReleasePreview)
fmt.Fprint(w, `{"id":1}`) fmt.Fprint(w, `{"id":1}`)
}) })
@ -66,7 +64,6 @@ func TestRepositoriesService_CreateRelease(t *testing.T) {
json.NewDecoder(r.Body).Decode(v) json.NewDecoder(r.Body).Decode(v)
testMethod(t, r, "POST") testMethod(t, r, "POST")
testHeader(t, r, "Accept", mimeReleasePreview)
if !reflect.DeepEqual(v, input) { if !reflect.DeepEqual(v, input) {
t.Errorf("Request body = %+v, want %+v", v, input) t.Errorf("Request body = %+v, want %+v", v, input)
} }
@ -95,7 +92,6 @@ func TestRepositoriesService_EditRelease(t *testing.T) {
json.NewDecoder(r.Body).Decode(v) json.NewDecoder(r.Body).Decode(v)
testMethod(t, r, "PATCH") testMethod(t, r, "PATCH")
testHeader(t, r, "Accept", mimeReleasePreview)
if !reflect.DeepEqual(v, input) { if !reflect.DeepEqual(v, input) {
t.Errorf("Request body = %+v, want %+v", v, input) t.Errorf("Request body = %+v, want %+v", v, input)
} }
@ -118,7 +114,6 @@ func TestRepositoriesService_DeleteRelease(t *testing.T) {
mux.HandleFunc("/repos/o/r/releases/1", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/repos/o/r/releases/1", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "DELETE") testMethod(t, r, "DELETE")
testHeader(t, r, "Accept", mimeReleasePreview)
}) })
_, err := client.Repositories.DeleteRelease("o", "r", 1) _, err := client.Repositories.DeleteRelease("o", "r", 1)
@ -133,7 +128,6 @@ func TestRepositoriesService_ListReleaseAssets(t *testing.T) {
mux.HandleFunc("/repos/o/r/releases/1/assets", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/repos/o/r/releases/1/assets", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimeReleasePreview)
fmt.Fprint(w, `[{"id":1}]`) fmt.Fprint(w, `[{"id":1}]`)
}) })
@ -153,7 +147,6 @@ func TestRepositoriesService_GetReleaseAsset(t *testing.T) {
mux.HandleFunc("/repos/o/r/releases/assets/1", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/repos/o/r/releases/assets/1", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimeReleasePreview)
fmt.Fprint(w, `{"id":1}`) fmt.Fprint(w, `{"id":1}`)
}) })
@ -178,7 +171,6 @@ func TestRepositoriesService_EditReleaseAsset(t *testing.T) {
json.NewDecoder(r.Body).Decode(v) json.NewDecoder(r.Body).Decode(v)
testMethod(t, r, "PATCH") testMethod(t, r, "PATCH")
testHeader(t, r, "Accept", mimeReleasePreview)
if !reflect.DeepEqual(v, input) { if !reflect.DeepEqual(v, input) {
t.Errorf("Request body = %+v, want %+v", v, input) t.Errorf("Request body = %+v, want %+v", v, input)
} }
@ -201,7 +193,6 @@ func TestRepositoriesService_DeleteReleaseAsset(t *testing.T) {
mux.HandleFunc("/repos/o/r/releases/assets/1", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/repos/o/r/releases/assets/1", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "DELETE") testMethod(t, r, "DELETE")
testHeader(t, r, "Accept", mimeReleasePreview)
}) })
_, err := client.Repositories.DeleteReleaseAsset("o", "r", 1) _, err := client.Repositories.DeleteReleaseAsset("o", "r", 1)
@ -216,7 +207,6 @@ func TestRepositoriesService_UploadReleaseAsset(t *testing.T) {
mux.HandleFunc("/repos/o/r/releases/1/assets", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/repos/o/r/releases/1/assets", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "POST") testMethod(t, r, "POST")
testHeader(t, r, "Accept", mimeReleasePreview)
testHeader(t, r, "Content-Type", "application/zip") testHeader(t, r, "Content-Type", "application/zip")
testFormValues(t, r, values{"name": "n"}) testFormValues(t, r, values{"name": "n"})


+ 0
- 1
github/search.go View File

@ -124,7 +124,6 @@ func (s *SearchService) search(searchType string, query string, opt *SearchOptio
if err != nil { if err != nil {
return nil, err return nil, err
} }
req.Header.Add("Accept", mimePreview)
return s.client.Do(req, result) return s.client.Do(req, result)
} }

+ 0
- 4
github/search_test.go View File

@ -14,7 +14,6 @@ func TestSearchService_Repositories(t *testing.T) {
mux.HandleFunc("/search/repositories", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/search/repositories", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimePreview)
testFormValues(t, r, values{ testFormValues(t, r, values{
"q": "blah", "q": "blah",
"sort": "forks", "sort": "forks",
@ -47,7 +46,6 @@ func TestSearchService_Issues(t *testing.T) {
mux.HandleFunc("/search/issues", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/search/issues", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimePreview)
testFormValues(t, r, values{ testFormValues(t, r, values{
"q": "blah", "q": "blah",
"sort": "forks", "sort": "forks",
@ -80,7 +78,6 @@ func TestSearchService_Users(t *testing.T) {
mux.HandleFunc("/search/users", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/search/users", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimePreview)
testFormValues(t, r, values{ testFormValues(t, r, values{
"q": "blah", "q": "blah",
"sort": "forks", "sort": "forks",
@ -113,7 +110,6 @@ func TestSearchService_Code(t *testing.T) {
mux.HandleFunc("/search/code", func(w http.ResponseWriter, r *http.Request) { mux.HandleFunc("/search/code", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET") testMethod(t, r, "GET")
testHeader(t, r, "Accept", mimePreview)
testFormValues(t, r, values{ testFormValues(t, r, values{
"q": "blah", "q": "blah",
"sort": "forks", "sort": "forks",


Loading…
Cancel
Save