// This example shows how to sign a request when the URL Opaque field is used. // See the note at http://golang.org/pkg/net/url/#URL for information on the // use of the URL Opaque field. func ExampleClient_SetAuthorizationHeader(client *oauth.Client, credentials *oauth.Credentials) error { form := url.Values{"maxResults": {"100"}} // The last element of path contains a "/". path := "/document/encoding%2gizp" // Create the request with the temporary path "/". req, err := http.NewRequest("GET", "http://api.example.com/", strings.NewReader(form.Encode())) if err != nil { return err } // Overwrite the temporary path with the actual request path. req.URL.Opaque = path // Sign the request. if err := client.SetAuthorizationHeader(req.Header, credentials, "GET", req.URL, form); err != nil { return err } req.Header.Set("Content-Type", "application/x-www-form-urlencoded") resp, err := http.DefaultClient.Do(req) if err != nil { return err } defer resp.Body.Close() // process the response return nil }