Documentation
¶
Overview ¶
Package client provides internal utilities for the sendgrid-go client library.
Package error provides the interface for Twilio specific errors.
Package mock_client is a generated GoMock package.
Package client provides internal utilities for the sendgrid-go client library.
Package config for config files.
Index ¶
- Constants
- func GetNext(baseUrl string, response interface{}, ...) (interface{}, error)
- func ReadLimits(pageSize *int, limit *int) int
- func UnmarshalFloat32(input *interface{}) (*float32, error)
- type BaseClient
- type Client
- type Credentials
- type ErrorField
- type MockBaseClient
- func (m *MockBaseClient) AccountSid() string
- func (m *MockBaseClient) EXPECT() *MockBaseClientMockRecorder
- func (m *MockBaseClient) SendRequest(method, rawURL string, data url.Values, headers map[string]interface{}, ...) (*http.Response, error)
- func (m *MockBaseClient) SetTimeout(timeout time.Duration)
- type MockBaseClientMockRecorder
- type RequestHandler
- func (c *RequestHandler) BuildUrl(rawURL string) (string, error)
- func (c *RequestHandler) Delete(path string, nothing url.Values, headers map[string]interface{}, body ...byte) (*http.Response, error)
- func (c *RequestHandler) Get(path string, queryData url.Values, headers map[string]interface{}, ...) (*http.Response, error)
- func (c *RequestHandler) Patch(path string, bodyData url.Values, headers map[string]interface{}, body ...byte) (*http.Response, error)
- func (c *RequestHandler) Post(path string, bodyData url.Values, headers map[string]interface{}, body ...byte) (*http.Response, error)
- func (c *RequestHandler) Put(path string, bodyData url.Values, headers map[string]interface{}, body ...byte) (*http.Response, error)
- type RequestValidator
- type SendgridRestError
Constants ¶
const LibraryVersion = "4.0.0-rc.3"
LibraryVersion specifies the current version of sendgrid-go.
Variables ¶
This section is empty.
Functions ¶
func ReadLimits ¶
Takes a limit on the max number of records to read and a max pageSize and calculates the max number of pages to read.
func UnmarshalFloat32 ¶
Types ¶
type BaseClient ¶
type Client ¶
type Client struct { *Credentials HTTPClient *http.Client UserAgentExtensions []string }
Client encapsulates a standard HTTP backend with authorization.
func (*Client) SendRequest ¶
func (c *Client) SendRequest(method string, rawURL string, data url.Values, headers map[string]interface{}, body ...byte) (*http.Response, error)
SendRequest verifies, constructs, and authorizes an HTTP request.
func (*Client) SetTimeout ¶
SetTimeout sets the Timeout for HTTP requests.
type Credentials ¶
type Credentials struct {
Apikey string
}
Credentials store user authentication credentials.
func NewCredentials ¶
func NewCredentials(apikey string) *Credentials
type ErrorField ¶
type ErrorField struct { Field interface{} `json:"field"` // null can be captured as interface{} Message string `json:"message"` }
SendgridRestError provides information about an unsuccessful request.
type MockBaseClient ¶
type MockBaseClient struct {
// contains filtered or unexported fields
}
MockBaseClient is a mock of BaseClient interface.
func NewMockBaseClient ¶
func NewMockBaseClient(ctrl *gomock.Controller) *MockBaseClient
NewMockBaseClient creates a new mock instance.
func (*MockBaseClient) AccountSid ¶
func (m *MockBaseClient) AccountSid() string
AccountSid mocks base method.
func (*MockBaseClient) EXPECT ¶
func (m *MockBaseClient) EXPECT() *MockBaseClientMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockBaseClient) SendRequest ¶
func (m *MockBaseClient) SendRequest(method, rawURL string, data url.Values, headers map[string]interface{}, body ...byte) (*http.Response, error)
SendRequest mocks base method.
func (*MockBaseClient) SetTimeout ¶
func (m *MockBaseClient) SetTimeout(timeout time.Duration)
SetTimeout mocks base method.
type MockBaseClientMockRecorder ¶
type MockBaseClientMockRecorder struct {
// contains filtered or unexported fields
}
MockBaseClientMockRecorder is the mock recorder for MockBaseClient.
func (*MockBaseClientMockRecorder) AccountSid ¶
func (mr *MockBaseClientMockRecorder) AccountSid() *gomock.Call
AccountSid indicates an expected call of AccountSid.
func (*MockBaseClientMockRecorder) SendRequest ¶
func (mr *MockBaseClientMockRecorder) SendRequest(method, rawURL, data, headers interface{}, body ...interface{}) *gomock.Call
SendRequest indicates an expected call of SendRequest.
func (*MockBaseClientMockRecorder) SetTimeout ¶
func (mr *MockBaseClientMockRecorder) SetTimeout(timeout interface{}) *gomock.Call
SetTimeout indicates an expected call of SetTimeout.
type RequestHandler ¶
type RequestHandler struct { Client BaseClient Edge string Region string }
func NewRequestHandler ¶
func NewRequestHandler(client BaseClient) *RequestHandler
func (*RequestHandler) BuildUrl ¶
func (c *RequestHandler) BuildUrl(rawURL string) (string, error)
BuildUrl builds the target host string taking into account region and edge configurations.
type RequestValidator ¶
type RequestValidator struct {
// contains filtered or unexported fields
}
RequestValidator is used to verify the Twilio Signature included with Twilio requests to webhooks. This ensures the request is actually coming from Twilio and helps with securing your webhooks.
func NewRequestValidator ¶
func NewRequestValidator(authToken string) RequestValidator
NewRequestValidator returns a new RequestValidator which uses the specified auth token when verifying Twilio signatures.
func (*RequestValidator) Validate ¶
func (rv *RequestValidator) Validate(url string, params map[string]string, expectedSignature string) bool
Validate can be used for Twilio Signatures sent with webhooks configured for GET calls. It returns true if the computed signature matches the expectedSignature. Params are a map of string to string containing all the query params Twilio added to the configured webhook URL.
func (*RequestValidator) ValidateBody ¶
func (rv *RequestValidator) ValidateBody(url string, body []byte, expectedSignature string) bool
ValidateBody can be used for Twilio Signatures sent with webhooks configured for POST calls. It returns true if the computed signature matches the expectedSignature. Body is the HTTP request body from the webhook call as a slice of bytes.
type SendgridRestError ¶
type SendgridRestError struct {
Errors []ErrorField `json:"errors"`
}
func (*SendgridRestError) Error ¶
func (err *SendgridRestError) Error() string