client

package
v1.20.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: MIT Imports: 21 Imported by: 19

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

View Source
const LibraryVersion = "1.20.1"

LibraryVersion specifies the current version of twilio-go.

Variables

This section is empty.

Functions

func GetNext added in v0.13.0

func GetNext(baseUrl string, response interface{}, getNextPage func(nextPageUri string) (interface{}, error)) (interface{}, error)

func ReadLimits added in v0.13.0

func ReadLimits(pageSize *int, limit *int) int

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 added in v0.25.0

func UnmarshalFloat32(input *interface{}) (*float32, error)

Types

type BaseClient added in v0.5.0

type BaseClient interface {
	AccountSid() string
	SetTimeout(timeout time.Duration)
	SendRequest(method string, rawURL string, data url.Values,
		headers map[string]interface{}, body ...byte) (*http.Response, error)
}

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) AccountSid added in v0.8.0

func (c *Client) AccountSid() string

Returns the Account SID.

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 added in v0.9.0

func (c *Client) SetAccountSid(sid string)

SetAccountSid sets the Client's accountSid field

func (*Client) SetTimeout

func (c *Client) SetTimeout(timeout time.Duration)

SetTimeout sets the Timeout for HTTP requests.

type Credentials

type Credentials struct {
	Username string
	Password string
}

Credentials store user authentication credentials.

func NewCredentials added in v0.8.0

func NewCredentials(username string, password string) *Credentials

type MockBaseClient added in v0.14.0

type MockBaseClient struct {
	// contains filtered or unexported fields
}

MockBaseClient is a mock of BaseClient interface.

func NewMockBaseClient added in v0.14.0

func NewMockBaseClient(ctrl *gomock.Controller) *MockBaseClient

NewMockBaseClient creates a new mock instance.

func (*MockBaseClient) AccountSid added in v0.14.0

func (m *MockBaseClient) AccountSid() string

AccountSid mocks base method.

func (*MockBaseClient) EXPECT added in v0.14.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockBaseClient) SendRequest added in v0.14.0

func (m *MockBaseClient) SendRequest(method, rawURL string, data url.Values, headers map[string]interface{}) (*http.Response, error)

SendRequest mocks base method.

func (*MockBaseClient) SetTimeout added in v0.14.0

func (m *MockBaseClient) SetTimeout(timeout time.Duration)

SetTimeout mocks base method.

type MockBaseClientMockRecorder added in v0.14.0

type MockBaseClientMockRecorder struct {
	// contains filtered or unexported fields
}

MockBaseClientMockRecorder is the mock recorder for MockBaseClient.

func (*MockBaseClientMockRecorder) AccountSid added in v0.14.0

func (mr *MockBaseClientMockRecorder) AccountSid() *gomock.Call

AccountSid indicates an expected call of AccountSid.

func (*MockBaseClientMockRecorder) SendRequest added in v0.14.0

func (mr *MockBaseClientMockRecorder) SendRequest(method, rawURL, data, headers interface{}) *gomock.Call

SendRequest indicates an expected call of SendRequest.

func (*MockBaseClientMockRecorder) SetTimeout added in v0.14.0

func (mr *MockBaseClientMockRecorder) SetTimeout(timeout interface{}) *gomock.Call

SetTimeout indicates an expected call of SetTimeout.

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, error)

BuildUrl builds the target host string taking into account region and edge configurations.

func (*RequestHandler) Delete added in v0.9.0

func (c *RequestHandler) Delete(path string, nothing url.Values, headers map[string]interface{}) (*http.Response, error)

func (*RequestHandler) Get added in v0.9.0

func (c *RequestHandler) Get(path string, queryData url.Values, headers map[string]interface{}) (*http.Response, error)

func (*RequestHandler) Post added in v0.9.0

func (c *RequestHandler) Post(path string, bodyData url.Values, headers map[string]interface{}, body ...byte) (*http.Response, error)

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

Directories

Path Synopsis
jwt

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL