Documentation ¶
Overview ¶
Package client provides internal utilities for the twilio-go client library.
Copyright 2014 Alvaro J. Genial. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. nolint
Package error provides the interface for Twilio specific errors.
Package form implements encoding and decoding of application/x-www-form-urlencoded data.
Copyright 2014 Alvaro J. Genial. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. nolint
Package client provides internal utilities for the twilio-go client library.
Package config for config files.
Index ¶
- Constants
- func EncodeToString(dst interface{}) (string, error)
- func EncodeToStringWith(dst interface{}, d rune, e rune, z bool) (string, error)
- func EncodeToValues(dst interface{}) (url.Values, error)
- func EncodeToValuesWith(dst interface{}, d rune, e rune, z bool) (url.Values, error)
- func GetNext(response interface{}, curRecord *int, limit *int, ...) (interface{}, error)
- func GetPayload(response interface{}) ([]interface{}, string, error)
- func ReadLimits(pageSize *int, limit *int) int
- type BaseClient
- type Client
- type Credentials
- type Encoder
- type RequestHandler
- func (c *RequestHandler) BuildUrl(rawURL string) string
- 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{}) (*http.Response, error)
- type RequestValidator
- type TwilioRestError
Constants ¶
const LibraryVersion = "0.13.0"
LibraryVersion specifies the current version of twilio-go.
Variables ¶
This section is empty.
Functions ¶
func EncodeToString ¶
EncodeToString encodes dst as a form and returns it as a string.
func EncodeToStringWith ¶
EncodeToStringWith encodes dst as a form with delimiter d, escape e, keeping zero values if z, and returns it as a string.
func EncodeToValues ¶
EncodeToValues encodes dst as a form and returns it as Values.
func EncodeToValuesWith ¶
EncodeToValuesWith encodes dst as a form with delimiter d, escape e, keeping zero values if z, and returns it as Values.
func GetPayload ¶ added in v0.13.0
func ReadLimits ¶ added in v0.13.0
Takes a limit on the max number of records to read and a max pageSize and calculates the max number of pages to read.
Types ¶
type BaseClient ¶ added in v0.5.0
type Client ¶
type Client struct { *Credentials HTTPClient *http.Client // contains filtered or unexported fields }
Client encapsulates a standard HTTP backend with authorization.
func (*Client) AccountSid ¶ added in v0.8.0
Returns the Account SID.
func (*Client) SendRequest ¶
func (c *Client) SendRequest(method string, rawURL string, data url.Values, headers map[string]interface{}) (*http.Response, error)
SendRequest verifies, constructs, and authorizes an HTTP request.
func (*Client) SetAccountSid ¶ added in v0.9.0
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 ¶ added in v0.8.0
func NewCredentials(username string, password string) *Credentials
type Encoder ¶
type Encoder struct {
// contains filtered or unexported fields
}
Encoder provides a way to encode to a Writer.
func (*Encoder) DelimitWith ¶
DelimitWith sets r as the delimiter used for composite keys by Encoder e and returns the latter; it is '.' by default.
func (*Encoder) EscapeWith ¶
EscapeWith sets r as the escape used for delimiters (and to escape itself) by Encoder e and returns the latter; it is '\\' by default.
type RequestHandler ¶ added in v0.9.0
type RequestHandler struct { Client BaseClient Edge string Region string }
func NewRequestHandler ¶ added in v0.9.0
func NewRequestHandler(client BaseClient) *RequestHandler
func (*RequestHandler) BuildUrl ¶ added in v0.9.0
func (c *RequestHandler) BuildUrl(rawURL string) string
BuildUrl builds the target host string taking into account region and edge configurations.
type RequestValidator ¶ added in v0.13.0
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 ¶ added in v0.13.0
func NewRequestValidator(authToken string) RequestValidator
NewRequestValidator returns a new RequestValidator which uses the specified auth token when verifying Twilio signatures.
func (*RequestValidator) Validate ¶ added in v0.13.0
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 ¶ added in v0.13.0
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 ¶ added in v0.11.0
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 ¶ added in v0.11.0
func (err *TwilioRestError) Error() string