aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/http/upload_pack.go
diff options
context:
space:
mode:
authorAnthony Weems <amlweems@gmail.com>2017-01-17 11:17:11 -0600
committerSantiago M. Mola <santi@mola.io>2017-01-17 18:17:11 +0100
commit6593c757346f9817a770ff0ea091cce3e8243070 (patch)
tree6fbb72583931b0386e382177970650a9cdbca4eb /plumbing/transport/http/upload_pack.go
parent241e8ba00ac9533299d62dc38684305af2b6c301 (diff)
downloadgo-git-6593c757346f9817a770ff0ea091cce3e8243070.tar.gz
transport: remove SetAuth, fixes #206 (#210)
* remove SetAuth functions, implement at NewUploadPackSession/NewReceivePackSession level. * propagate transport.Auth from Fetch/Pull/Clone options to the transport API.
Diffstat (limited to 'plumbing/transport/http/upload_pack.go')
-rw-r--r--plumbing/transport/http/upload_pack.go22
1 files changed, 14 insertions, 8 deletions
diff --git a/plumbing/transport/http/upload_pack.go b/plumbing/transport/http/upload_pack.go
index 26257f5..e828857 100644
--- a/plumbing/transport/http/upload_pack.go
+++ b/plumbing/transport/http/upload_pack.go
@@ -19,16 +19,22 @@ type upSession struct {
*session
}
-func newUploadPackSession(c *http.Client,
- ep transport.Endpoint) transport.UploadPackSession {
+func newUploadPackSession(c *http.Client, ep transport.Endpoint, auth transport.AuthMethod) (transport.UploadPackSession, error) {
+ s := &session{
+ auth: basicAuthFromEndpoint(ep),
+ client: c,
+ endpoint: ep,
+ }
+ if auth != nil {
+ a, ok := auth.(AuthMethod)
+ if !ok {
+ return nil, transport.ErrInvalidAuthMethod
+ }
- return &upSession{
- session: &session{
- auth: basicAuthFromEndpoint(ep),
- client: c,
- endpoint: ep,
- },
+ s.auth = a
}
+
+ return &upSession{session: s}, nil
}
func (s *upSession) AdvertisedReferences() (*packp.AdvRefs, error) {