Documentation ¶
Index ¶
- Variables
- func RetryPolicy(ctx context.Context, resp *http.Response, err error) (bool, error)
- type DefaultErrorResponse
- type ErrorDetail
- type ErrorResponse
- type GraphQLClient
- type LinkHeaderPager
- type NewRelicClient
- func (c *NewRelicClient) Delete(url string, queryParams interface{}, respBody interface{}) (*http.Response, error)
- func (c *NewRelicClient) Get(url string, queryParams interface{}, respBody interface{}) (*http.Response, error)
- func (c *NewRelicClient) Post(url string, queryParams interface{}, reqBody interface{}, respBody interface{}) (*http.Response, error)
- func (c *NewRelicClient) Put(url string, queryParams interface{}, reqBody interface{}, respBody interface{}) (*http.Response, error)
- func (c *NewRelicClient) RawPost(url string, queryParams interface{}, reqBody interface{}, respBody interface{}) (*http.Response, error)
- func (c *NewRelicClient) SetErrorValue(v ErrorResponse) *NewRelicClient
- type Pager
- type Paging
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotFound is returned when the resource was not found in New Relic. ErrNotFound = errors.New("newrelic: Resource not found") )
Functions ¶
Types ¶
type DefaultErrorResponse ¶
type DefaultErrorResponse struct {
ErrorDetail ErrorDetail `json:"error"`
}
DefaultErrorResponse represents the default error response from New Relic.
func (*DefaultErrorResponse) Error ¶
func (e *DefaultErrorResponse) Error() string
type ErrorDetail ¶
ErrorDetail represents a New Relic response error detail.
type ErrorResponse ¶
type ErrorResponse interface {
Error() string
}
ErrorResponse provides an interface for obtaining a single error message from an error response object.
type GraphQLClient ¶ added in v0.4.0
type GraphQLClient struct { Client *NewRelicClient // contains filtered or unexported fields }
GraphQLClient represents a graphQL HTTP client.
func NewGraphQLClient ¶ added in v0.4.0
func NewGraphQLClient(cfg config.Config) *GraphQLClient
NewGraphQLClient returns a new instance of GraphQLClient.
type LinkHeaderPager ¶
type LinkHeaderPager struct{}
LinkHeaderPager represents a pagination implementation that adheres to RFC 5988.
type NewRelicClient ¶
type NewRelicClient struct { Client *retryablehttp.Client Config config.Config // contains filtered or unexported fields }
NewRelicClient represents a client for communicating with the New Relic APIs.
func NewClient ¶
func NewClient(cfg config.Config) NewRelicClient
NewClient is used to create a new instance of NewRelicClient.
func NewTestAPIClient ¶
func NewTestAPIClient(handler http.Handler) NewRelicClient
NewTestAPIClient returns a test NewRelicClient instance that is configured to communicate with a mock server.
func (*NewRelicClient) Delete ¶
func (c *NewRelicClient) Delete(url string, queryParams interface{}, respBody interface{}, ) (*http.Response, error)
Delete represents an HTTP DELETE request to a New Relic API. The queryParams argument can be used to add query string parameters to the requested URL. The respBody argument will be unmarshaled from JSON in the response body to the type provided. If respBody is not nil and the response body cannot be unmarshaled to the type provided, an error will be returned.
func (*NewRelicClient) Get ¶
func (c *NewRelicClient) Get( url string, queryParams interface{}, respBody interface{}, ) (*http.Response, error)
Get represents an HTTP GET request to a New Relic API. The queryParams argument can be used to add query string parameters to the requested URL. The respBody argument will be unmarshaled from JSON in the response body to the type provided. If respBody is not nil and the response body cannot be unmarshaled to the type provided, an error will be returned.
func (*NewRelicClient) Post ¶
func (c *NewRelicClient) Post( url string, queryParams interface{}, reqBody interface{}, respBody interface{}, ) (*http.Response, error)
Post represents an HTTP POST request to a New Relic API. The queryParams argument can be used to add query string parameters to the requested URL. The reqBody argument will be marshaled to JSON from the type provided and included in the request body. The respBody argument will be unmarshaled from JSON in the response body to the type provided. If respBody is not nil and the response body cannot be unmarshaled to the type provided, an error will be returned.
func (*NewRelicClient) Put ¶
func (c *NewRelicClient) Put( url string, queryParams interface{}, reqBody interface{}, respBody interface{}, ) (*http.Response, error)
Put represents an HTTP PUT request to a New Relic API. The queryParams argument can be used to add query string parameters to the requested URL. The reqBody argument will be marshaled to JSON from the type provided and included in the request body. The respBody argument will be unmarshaled from JSON in the response body to the type provided. If respBody is not nil and the response body cannot be unmarshaled to the type provided, an error will be returned.
func (*NewRelicClient) RawPost ¶ added in v0.10.0
func (c *NewRelicClient) RawPost( url string, queryParams interface{}, reqBody interface{}, respBody interface{}, ) (*http.Response, error)
RawPost behaves the same as Post, but without marshaling the body into JSON before making the request. This is required at least in the case of Syntheics Labels, since the POST doesn't handle JSON.
func (*NewRelicClient) SetErrorValue ¶
func (c *NewRelicClient) SetErrorValue(v ErrorResponse) *NewRelicClient
SetErrorValue is used to unmarshal error body responses in JSON format.