/digest

HTTP Digest Authentication for Go

Primary LanguageGoApache License 2.0Apache-2.0

Go Reference GO tests golangci-lint

Golang HTTP Digest Authentication

Overview

This is a fork of the (unmaintained) code.google.com/p/mlab-ns2/gae/ns/digest package. There's a descriptor leak in the original package, so this fork was created to patch the leak.

Update 2020

This is a fork of the now unmaintained fork of digest. This implementation now supports the SHA-256 algorithm which was added as part of rfc 7616.

Usage

t := NewTransport("myUserName", "myP@55w0rd")
req, err := http.NewRequest("GET", "http://notreal.com/path?arg=1", nil)
if err != nil {
	return err
}
resp, err := t.RoundTrip(req)
if err != nil {
	return err
}

Or it can be used as a client:

c, err := t.Client()
if err != nil {
	return err
}
resp, err := c.Get("http://notreal.com/path?arg=1")
if err != nil {
	return err
}

Contributing

Contributions are welcome!

The code is linted with golangci-lint. This library also defines git hooks that format and lint the code.

Before submitting a PR, please run make setup link-git-hooks to set up your local development environment.

Original Authors

License

Apache 2.0