# Functions
CloseResponseBodyIfNotNil simple helper which can ensure a response's body is correctly closed, if one exists.
NewClient builds a new client, allowing for dynamic configuration the order of the passed function matters, as they will be applied sequentially.
NewDefaultTimeouts initializes the timeouts struct using default values.
NewURLResolver builds a new API URL which can be used to build any path.
NewURLResolverWithPrefix builds a new API URL using a prefix for all other paths.
WithAcceptedStatusCodes configures a client with a list of accepted HTTP response status codes.
WithDefaultTimeouts configures a client with default timeouts.
WithDigestAuthentication configures a client with digest authentication credentials.
WithTimeouts configures a client with the specified timeouts.
# Constants
ContentTypeJSON defines the JSON content type.
PreferJSON signal that we are accepting JSON responses, but do not reject non-JSON data.
# Structs
HTTPResponse wrapper for HTTP response objects.
RequestTimeouts allows users of this code to tweak all necessary timeouts used during an HTTP request-response.
# Interfaces
BasicClient defines a contract for this client's API.
URLResolver contract for resolving any paths against the given base URL.