type SecurityMode … const SecureOnly … const DefaultSecurity … const Insecure … type HTTPError … const maxErrorDetailLines … const maxErrorDetailBytes … func (e *HTTPError) Error() string { … } func (e *HTTPError) Is(target error) bool { … } func (e *HTTPError) Unwrap() error { … } // GetBytes returns the body of the requested resource, or an error if the // response status was not http.StatusOK. // // GetBytes is a convenience wrapper around Get and Response.Err. func GetBytes(u *url.URL) ([]byte, error) { … } type Response … // Err returns an *HTTPError corresponding to the response r. // If the response r has StatusCode 200 or 0 (unset), Err returns nil. // Otherwise, Err may read from r.Body in order to extract relevant error detail. func (r *Response) Err() error { … } // formatErrorDetail converts r.errorDetail (a prefix of the output of r.Body) // into a short, tab-indented summary. func (r *Response) formatErrorDetail() string { … } // Get returns the body of the HTTP or HTTPS resource specified at the given URL. // // If the URL does not include an explicit scheme, Get first tries "https". // If the server does not respond under that scheme and the security mode is // Insecure, Get then tries "http". // The URL included in the response indicates which scheme was actually used, // and it is a redacted URL suitable for use in error messages. // // For the "https" scheme only, credentials are attached using the // cmd/go/internal/auth package. If the URL itself includes a username and // password, it will not be attempted under the "http" scheme unless the // security mode is Insecure. // // Get returns a non-nil error only if the request did not receive a response // under any applicable scheme. (A non-2xx response does not cause an error.) func Get(security SecurityMode, u *url.URL) (*Response, error) { … } // OpenBrowser attempts to open the requested URL in a web browser. func OpenBrowser(url string) (opened bool) { … } // Join returns the result of adding the slash-separated // path elements to the end of u's path. func Join(u *url.URL, path string) *url.URL { … } type errorDetailBuffer … func (b *errorDetailBuffer) Close() error { … } func (b *errorDetailBuffer) Read(p []byte) (n int, err error) { … } // IsLocalHost reports whether the given URL refers to a local // (loopback) host, such as "localhost" or "127.0.0.1:8080". func IsLocalHost(u *url.URL) bool { … }