clients

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2021 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package clients defines API clients for interacting with select APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunEndToEnd added in v0.20.0

func RunEndToEnd(ctx context.Context, cfg *config.E2ERunnerConfig) error

RunEndToEnd - code that exercises the verification and key server, simulating a mobile device uploading TEKs.

Types

type APIServerClient

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

APIServerClient is a client that talks to a device API server.

func NewAPIServerClient

func NewAPIServerClient(base, apiKey string, opts ...Option) (*APIServerClient, error)

NewAPIServerClient creates a new API server http client.

func (*APIServerClient) Certificate

Certificate calls the /certificate endpoint to exchange a token for a certificate.

func (*APIServerClient) Verify

Verify calls the /verify endpoint to convert a code into a token.

type AdminAPIServerClient

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

AdminAPIServerClient is a client that talks to an admin API server.

func NewAdminAPIServerClient

func NewAdminAPIServerClient(base, apiKey string, opts ...Option) (*AdminAPIServerClient, error)

NewAdminAPIServerClient creates a new admin API server http client.

func (*AdminAPIServerClient) BatchIssueCode

BatchIssueCode calls the /batch-issue endpoint. Callers must check the HTTP response code.

func (*AdminAPIServerClient) CheckCodeStatus

CheckCodeStatus uses the Admin API to retrieve the status of an OTP code.

func (*AdminAPIServerClient) IssueCode

IssueCode calls the /issue endpoint. Callers must check the HTTP response code.

type AndroidTarget

type AndroidTarget struct {
	Namespace              string `json:"namespace"`
	AppName                string `json:"app_name,omitempty"`
	PackageName            string `json:"package_name"`
	SHA256CertFingerprints string `json:"sha256_cert_fingerprints"`
}

AndroidTarget holds the android metadata for an App of AppResponse.

type App

type App struct {
	Region        string `json:"region"`
	IsEnx         bool   `json:"is_enx,omitempty"`
	AndroidTarget `json:"android_target"`
}

App represents single app for the AppResponse body.

type AppSyncClient

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

AppSyncClient is a client that talks to the appsync service.

func NewAppSyncClient

func NewAppSyncClient(base string, opts ...Option) (*AppSyncClient, error)

NewAppSyncClient creates a new app sync service http client.

func (*AppSyncClient) AppSync

func (c *AppSyncClient) AppSync(ctx context.Context) (*AppsResponse, error)

AppSync triggers an application sync.

type AppsResponse

type AppsResponse struct {
	Apps []App `json:"apps"`
}

AppsResponse is the body for the published list of android apps.

type ENXRedirectClient added in v0.20.0

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

ENXRedirectClient is a client that talks to the enx-redirect service.

func NewENXRedirectClient added in v0.20.0

func NewENXRedirectClient(base string, opts ...Option) (*ENXRedirectClient, error)

NewENXRedirectClient creates a new enx-redirect service http client.

func (c *ENXRedirectClient) AndroidAssetLinks(ctx context.Context) ([]*api.AndroidDataResponse, error)

AndroidAssetLinks calls and parses the Android assetlinks file.

func (*ENXRedirectClient) AppleSiteAssociation added in v0.20.0

func (c *ENXRedirectClient) AppleSiteAssociation(ctx context.Context) (*api.IOSDataResponse, error)

AppleSiteAssociation calls and parses the Apple site association file.

func (*ENXRedirectClient) CheckRedirect added in v0.20.0

func (c *ENXRedirectClient) CheckRedirect(ctx context.Context, userAgent string) (*http.Response, error)

CheckRedirect processes the redirect. It returns the http response. It does not follow any redirects or check the response status.

func (*ENXRedirectClient) RunE2E added in v0.21.0

func (c *ENXRedirectClient) RunE2E(ctx context.Context) error

RunE2E uses the client to exercise an end-to-end test of the ENX redirector.

type KeyServerClient added in v0.21.0

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

KeyServerClient is a client that talks to the key-server

func NewKeyServerClient added in v0.21.0

func NewKeyServerClient(base string, opts ...Option) (*KeyServerClient, error)

NewKeyServerClient creates a new key-server http client.

func (*KeyServerClient) Stats added in v0.21.0

Stats calls the /v1/stats endpoint to get key-server statistics.

type Option

type Option func(c *client) *client

Option is a customization option for the client.

func WithHostOverride added in v0.21.0

func WithHostOverride(host string) Option

WithHostOverride creates a new client that overrides the Host header.

func WithMaxBodySize

func WithMaxBodySize(max int64) Option

WithMaxBodySize sets a custom max body size for each request. The default is 64kib.

func WithTimeout

func WithTimeout(d time.Duration) Option

WithTimeout sets a custom timeout for each request. The default is 5s.

Jump to

Keyboard shortcuts

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