teslainventory_sdk/client_options.go

26 lines
707 B
Go

package teslainventory_sdk
// ClientOptions allows for options to be passed into the Client for customization.
type ClientOptions func(*Client)
// WithUserAgent will force the usage of a specific user agent.
func WithUserAgent(userAgent string) ClientOptions {
return func(c *Client) {
c.userAgent = userAgent
}
}
// WithCustomEndpoint will allow to overide the default endpoint with a custom one.
func WithCustomEndpoint(endpoint string) ClientOptions {
return func(c *Client) {
c.endpoint = endpoint
}
}
// WithHeaders will add the given headers to every request made by the sdk.
func WithHeaders(headers map[string]string) ClientOptions {
return func(c *Client) {
c.headers = headers
}
}