common/httpbase/facade.go (37 lines of code) (raw):

package httpbase func Get(url string, requestOptions... RequestOption) (string, error) { requestOptionsPrepended := append([]RequestOption{ WithHeaders(map[string]string{ UserAgentHeader: UserAgentValue, }), WithTimeoutInSeconds(5), }, requestOptions...) request := buildRequest(requestOptionsPrepended...) response, err := request.Get(url) if err != nil { return "", err } defer response.Close() if response.StatusCode() > 400 { return "", NewStatusCodeError(response.StatusCode()) } return response.Content() } func Put(url string, requestOptions... RequestOption) (string, error) { requestOptionsPrepended := append([]RequestOption{ WithHeaders(map[string]string{ UserAgentHeader: UserAgentValue, }), WithTimeoutInSeconds(5), }, requestOptions...) request := buildRequest(requestOptionsPrepended...) response, err := request.Put(url) if err != nil { return "", err } defer response.Close() if response.StatusCode() > 400 { return "", NewStatusCodeError(response.StatusCode()) } return response.Content() }