code: func DoGetFallback(c Client, ctx context.Context, u *url.URL, args url.Values) (*http.Response, []byte, error) {
  	req, err := http.NewRequest(http.MethodPost, u.String(), strings.NewReader(args.Encode()))
  	if err != nil {
  		return nil, nil, err
  	}
  	req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
  
  	resp, body, err := c.Do(ctx, req)
  	if resp != nil && resp.StatusCode == http.StatusMethodNotAllowed {
  		u.RawQuery = args.Encode()
  		req, err = http.NewRequest(http.MethodGet, u.String(), nil)
  		if err != nil {
  			return nil, nil, err
  		}
  
  	} else {
  		return resp, body, err
  	}
  	return c.Do(ctx, req)
  }
docs: // DoGetFallback will attempt to do the request as-is, and on a 405 it will fallback to a GET request.