func NewEndpoint(endpoint string) (Endpoint, error) { endpoint = transformSCPLikeIfNeeded(endpoint) u, err := url.Parse(endpoint) if err != nil { return Endpoint{}, plumbing.NewPermanentError(err) } if !u.IsAbs() { return Endpoint{}, plumbing.NewPermanentError(fmt.Errorf( "invalid endpoint: %s", endpoint, )) } return Endpoint(*u), nil }
func (s *fetchPackSession) doRequest(method, url string, content *bytes.Buffer) (*http.Response, error) { var body io.Reader if content != nil { body = content } req, err := http.NewRequest(method, url, body) if err != nil { return nil, plumbing.NewPermanentError(err) } s.applyHeadersToRequest(req, content) s.applyAuthToRequest(req) res, err := s.client.Do(req) if err != nil { return nil, plumbing.NewUnexpectedError(err) } if err := NewErr(res); err != nil { _ = res.Body.Close() return nil, err } return res, nil }
func (i *GitUploadPackInfo) Decode(r io.Reader) error { d := advrefs.NewDecoder(r) ar := advrefs.New() if err := d.Decode(ar); err != nil { if err == advrefs.ErrEmpty { return plumbing.NewPermanentError(err) } return plumbing.NewUnexpectedError(err) } i.Capabilities = ar.Capabilities if err := i.addRefs(ar); err != nil { return plumbing.NewUnexpectedError(err) } return nil }