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, restCall SendingRequest, objectName string, path string, ...) (resp Response, err error)
- func SendWithRetryWithInitialTry(client *http.Client, restCall SendingRequest, objectName string, path string, ...) (resp Response, err error)
- type RetrySetting
- type RetrySettings
- type SendingRequest
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, restCall SendingRequest, objectName string, path string, body []byte, setting RetrySetting) (resp Response, err error)
SendWithRetry will retry a SendingRequest(PUT or POST) for a given number of times, waiting a give duration between calls
func SendWithRetryWithInitialTry ¶
func SendWithRetryWithInitialTry(client *http.Client, restCall SendingRequest, objectName string, path string, body []byte, setting RetrySetting) (resp Response, err error)
SendWithRetryWithInitialTry will try to send a request and later retry a SendingRequest(PUT or POST) for a given number of times, waiting a give duration between calls
func (Response) IsServerError ¶
type RetrySetting ¶
type RetrySettings ¶
type RetrySettings struct {
Normal RetrySetting
Long RetrySetting
VeryLong RetrySetting
}