Documentation
¶
Index ¶
- Variables
- func AddNextPageQueryParams(u *url.URL, nextPage string) *url.URL
- func DeleteConfig(client *http.Client, url string, id string) error
- type Response
- func Get(client *http.Client, url string) (Response, error)
- func GetWithRetry(client *http.Client, url string, settings RetrySetting) (resp Response, err error)
- func Post(client *http.Client, url string, data []byte) (Response, error)
- func PostMultiPartFile(client *http.Client, url string, data *bytes.Buffer, contentType string) (Response, error)
- func Put(client *http.Client, url string, data []byte) (Response, error)
- func SendWithRetry(client *http.Client, sendWithBody SendRequestWithBody, objectName string, ...) (resp Response, err error)
- func SendWithRetryWithInitialTry(client *http.Client, sendWithBody SendRequestWithBody, objectName string, ...) (resp Response, err error)
- type RetrySetting
- type RetrySettings
- type SendRequestWithBody
Constants ¶
This section is empty.
Variables ¶
var DefaultRetrySettings = RetrySettings{ Normal: RetrySetting{ WaitTime: 5 * time.Second, MaxRetries: 3, }, Long: RetrySetting{ WaitTime: 5 * time.Second, MaxRetries: 6, }, VeryLong: RetrySetting{ WaitTime: 15 * time.Second, MaxRetries: 5, }, }
Functions ¶
func AddNextPageQueryParams ¶
AddNextPageQueryParams handles both Dynatrace v1 and v2 pagination logic. For api/v2 URLs the given next page key will be the only query parameter of the modified URL For any other ULRs the given next page key will be added to existing query parameters
Types ¶
type Response ¶
type Response struct {
StatusCode int
Body []byte
Headers map[string][]string
NextPageKey string
TotalCount int
PageSize int
}
func GetWithRetry ¶
func GetWithRetry(client *http.Client, url string, settings RetrySetting) (resp Response, err error)
GetWithRetry will retry a GET request for a given number of times, waiting a give duration between calls this method can be used for API calls we know to have occasional timing issues on GET - e.g. paginated queries that are impacted by replication lag, returning unequal amounts of objects/pages per node
func PostMultiPartFile ¶
func SendWithRetry ¶
func SendWithRetry(client *http.Client, sendWithBody SendRequestWithBody, objectName string, path string, body []byte, setting RetrySetting) (resp Response, err error)
SendWithRetry will retry to call sendWithBody for a given number of times, waiting a give duration between calls
func SendWithRetryWithInitialTry ¶
func SendWithRetryWithInitialTry(client *http.Client, sendWithBody SendRequestWithBody, objectName string, path string, body []byte, setting RetrySetting) (resp Response, err error)
SendWithRetryWithInitialTry will try to call sendWithBody and if it didn't succeed call SendWithRetry
func (Response) Is4xxError ¶
func (Response) Is5xxError ¶
type RetrySetting ¶
type RetrySettings ¶
type RetrySettings struct {
Normal RetrySetting
Long RetrySetting
VeryLong RetrySetting
}