client

package
v0.19.2 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2021 License: MIT Imports: 22 Imported by: 0

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 = "0.19.0"

LibraryVersion specifies the current version of twilio-go.

Variables

This section is empty.

Functions

func GetNext

func GetNext(baseUrl string, response interface{}, curRecord *int, limit *int, getNextPage func(nextPageUri string) (interface{}, error)) (interface{}, error)

func GetPayload

func GetPayload(baseUrl string, response interface{}) ([]interface{}, string, error)

func ReadLimits

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.

Types

type BaseClient

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

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

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{}) (*http.Response, error)

SendRequest verifies, constructs, and authorizes an HTTP request.

func (*Client) SetAccountSid

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

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

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{}) (*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{}) *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

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

func (*RequestHandler) Delete

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

func (*RequestHandler) Get

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

func (*RequestHandler) Post

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

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

Directories

Path Synopsis
jwt

Jump to

Keyboard shortcuts

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