aboutsummaryrefslogtreecommitdiffstats
path: root/clients/http/common.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2016-11-08 23:46:38 +0100
committerGitHub <noreply@github.com>2016-11-08 23:46:38 +0100
commitac095bb12c4d29722b60ba9f20590fa7cfa6bc7d (patch)
tree223f36f336ba3414b1e45cac8af6c4744a5d7ef6 /clients/http/common.go
parente523701393598f4fa241dd407af9ff8925507a1a (diff)
downloadgo-git-ac095bb12c4d29722b60ba9f20590fa7cfa6bc7d.tar.gz
new plumbing package (#118)
* plumbing: now core was renamed to core, and formats and clients moved inside
Diffstat (limited to 'clients/http/common.go')
-rw-r--r--clients/http/common.go77
1 files changed, 0 insertions, 77 deletions
diff --git a/clients/http/common.go b/clients/http/common.go
deleted file mode 100644
index 483308a..0000000
--- a/clients/http/common.go
+++ /dev/null
@@ -1,77 +0,0 @@
-// Package http implements a HTTP client for go-git.
-package http
-
-import (
- "fmt"
- "net/http"
-
- "gopkg.in/src-d/go-git.v4/clients/common"
- "gopkg.in/src-d/go-git.v4/core"
-)
-
-// HTTPAuthMethod concrete implementation of common.AuthMethod for HTTP services
-type HTTPAuthMethod interface {
- common.AuthMethod
- setAuth(r *http.Request)
-}
-
-// BasicAuth represent a HTTP basic auth
-type BasicAuth struct {
- username, password string
-}
-
-// NewBasicAuth returns a BasicAuth base on the given user and password
-func NewBasicAuth(username, password string) *BasicAuth {
- return &BasicAuth{username, password}
-}
-
-func (a *BasicAuth) setAuth(r *http.Request) {
- r.SetBasicAuth(a.username, a.password)
-}
-
-// Name name of the auth
-func (a *BasicAuth) Name() string {
- return "http-basic-auth"
-}
-
-func (a *BasicAuth) String() string {
- masked := "*******"
- if a.password == "" {
- masked = "<empty>"
- }
-
- return fmt.Sprintf("%s - %s:%s", a.Name(), a.username, masked)
-}
-
-// HTTPError a dedicated error to return errors bases on status codes
-type HTTPError struct {
- Response *http.Response
-}
-
-// NewHTTPError returns a new HTTPError based on a http response
-func NewHTTPError(r *http.Response) error {
- if r.StatusCode >= 200 && r.StatusCode < 300 {
- return nil
- }
-
- switch r.StatusCode {
- case 401:
- return common.ErrAuthorizationRequired
- case 404:
- return common.ErrRepositoryNotFound
- }
-
- err := &HTTPError{r}
- return core.NewUnexpectedError(err)
-}
-
-// StatusCode returns the status code of the response
-func (e *HTTPError) StatusCode() int {
- return e.Response.StatusCode
-}
-
-func (e *HTTPError) Error() string {
- return fmt.Sprintf("unexpected requesting %q status code: %d",
- e.Response.Request.URL, e.Response.StatusCode,
- )
-}