aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/client
diff options
context:
space:
mode:
authorSantiago M. Mola <santi@mola.io>2017-01-04 11:18:41 +0100
committerGitHub <noreply@github.com>2017-01-04 11:18:41 +0100
commit841abfb7dc640755c443432064252907e3e55c95 (patch)
tree8af69dcd3b301a10a3e493e2cd805cdec6dcaecd /plumbing/transport/client
parent90d67bb648ae32d5b1a0f7b1af011da6dfb24315 (diff)
downloadgo-git-841abfb7dc640755c443432064252907e3e55c95.tar.gz
server: add git server implementation (#190)
* server: add generic server implementation (transport-independent), both for git-upload-pack and git-receive-pack. * server: move internal functions to internal/common. * cli: add git-receive-pack and git-upload-pack implementations. * format/packfile: add UpdateObjectStorage function, extracted from Remote. * transport: implement tranport RPC-like, only with git-upload-pack and git-receive-pack methods. Client renamed to Transport. * storer: add storer.Storer interface. * protocol/packp: add UploadPackResponse constructor with packfile. * protocol/packp: fix UploadPackResponse encoding, add tests. * protocol/packp/capability: implement All.
Diffstat (limited to 'plumbing/transport/client')
-rw-r--r--plumbing/transport/client/client.go6
-rw-r--r--plumbing/transport/client/client_test.go8
2 files changed, 7 insertions, 7 deletions
diff --git a/plumbing/transport/client/client.go b/plumbing/transport/client/client.go
index 095c51d..4615368 100644
--- a/plumbing/transport/client/client.go
+++ b/plumbing/transport/client/client.go
@@ -11,7 +11,7 @@ import (
)
// Protocols are the protocols supported by default.
-var Protocols = map[string]transport.Client{
+var Protocols = map[string]transport.Transport{
"http": http.DefaultClient,
"https": http.DefaultClient,
"ssh": ssh.DefaultClient,
@@ -20,14 +20,14 @@ var Protocols = map[string]transport.Client{
}
// InstallProtocol adds or modifies an existing protocol.
-func InstallProtocol(scheme string, c transport.Client) {
+func InstallProtocol(scheme string, c transport.Transport) {
Protocols[scheme] = c
}
// NewClient returns the appropriate client among of the set of known protocols:
// http://, https://, ssh:// and file://.
// See `InstallProtocol` to add or modify protocols.
-func NewClient(endpoint transport.Endpoint) (transport.Client, error) {
+func NewClient(endpoint transport.Endpoint) (transport.Transport, error) {
f, ok := Protocols[endpoint.Scheme]
if !ok {
return nil, fmt.Errorf("unsupported scheme %q", endpoint.Scheme)
diff --git a/plumbing/transport/client/client_test.go b/plumbing/transport/client/client_test.go
index a0c8208..9af70b1 100644
--- a/plumbing/transport/client/client_test.go
+++ b/plumbing/transport/client/client_test.go
@@ -58,13 +58,13 @@ type dummyClient struct {
*http.Client
}
-func (*dummyClient) NewFetchPackSession(transport.Endpoint) (
- transport.FetchPackSession, error) {
+func (*dummyClient) NewUploadPackSession(transport.Endpoint) (
+ transport.UploadPackSession, error) {
return nil, nil
}
-func (*dummyClient) NewSendPackSession(transport.Endpoint) (
- transport.SendPackSession, error) {
+func (*dummyClient) NewReceivePackSession(transport.Endpoint) (
+ transport.ReceivePackSession, error) {
return nil, nil
}