diff options
Diffstat (limited to 'examples/custom_http/main.go')
-rw-r--r-- | examples/custom_http/main.go | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/examples/custom_http/main.go b/examples/custom_http/main.go deleted file mode 100644 index ee8b96b..0000000 --- a/examples/custom_http/main.go +++ /dev/null @@ -1,53 +0,0 @@ -package main - -import ( - "crypto/tls" - "fmt" - "net/http" - "os" - "time" - - "srcd.works/go-git.v4" - . "srcd.works/go-git.v4/examples" - "srcd.works/go-git.v4/plumbing/transport/client" - githttp "srcd.works/go-git.v4/plumbing/transport/http" - "srcd.works/go-git.v4/storage/memory" -) - -// Here is an example to configure http client according to our own needs. -func main() { - CheckArgs("<url>") - url := os.Args[1] - - // Create a custom http(s) client with your config - customClient := &http.Client{ - // accept any certificate (might be useful for testing) - Transport: &http.Transport{ - TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - }, - - // 15 second timeout - Timeout: 15 * time.Second, - - // don't follow redirect - CheckRedirect: func(req *http.Request, via []*http.Request) error { - return http.ErrUseLastResponse - }, - } - - // Override http(s) default protocol to use our custom client - client.InstallProtocol("https", githttp.NewClient(customClient)) - - // Clone repository using the new client if the protocol is https:// - Info("git clone %s", url) - - r, err := git.Clone(memory.NewStorage(), nil, &git.CloneOptions{URL: url}) - CheckIfError(err) - - // Retrieve the branch pointed by HEAD - Info("git rev-parse HEAD") - - head, err := r.Head() - CheckIfError(err) - fmt.Println(head.Hash()) -} |