Documentation ¶
Overview ¶
Package client provides internal utilities for the twilio-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 twilio-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 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{}) (*http.Response, error)
- func (c *RequestHandler) Get(path string, queryData url.Values, headers map[string]interface{}) (*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 TwilioRestError
Constants ¶
const LibraryVersion = "1.22.3"
LibraryVersion specifies the current version of twilio-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 // contains filtered or unexported fields }
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) SetAccountSid ¶
SetAccountSid sets the Client's accountSid field
func (*Client) SetTimeout ¶
SetTimeout sets the Timeout for HTTP requests.
type Credentials ¶
Credentials store user authentication credentials.
func NewCredentials ¶
func NewCredentials(username string, password string) *Credentials
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 TwilioRestError ¶
type TwilioRestError struct { Code int `json:"code"` Details map[string]interface{} `json:"details"` Message string `json:"message"` MoreInfo string `json:"more_info"` Status int `json:"status"` }
TwilioRestError provides information about an unsuccessful request.
func (*TwilioRestError) Error ¶
func (err *TwilioRestError) Error() string