Documentation
¶
Overview ¶
Package isolatedclient implements the API to communicate with the Isolated server and to process '.isolated' files.
Index ¶
- Constants
- type Client
- func (i *Client) Contains(c context.Context, items []*isolateservice.HandlersEndpointsV1Digest) (out []*PushState, err error)
- func (i *Client) Fetch(c context.Context, item *isolateservice.HandlersEndpointsV1Digest, ...) error
- func (i *Client) Push(c context.Context, state *PushState, source Source) (err error)
- func (i *Client) ServerCapabilities(c context.Context) (*isolateservice.HandlersEndpointsV1ServerDetails, error)
- type CloudStorage
- type Flags
- type PushState
- type Source
Constants ¶
const DefaultNamespace = "default-gzip"
DefaultNamespace is the namespace that should be used with the New function.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a client to an isolated server.
func New ¶
func New(anonClient, authClient *http.Client, host, namespace string, rFn retry.Factory, gcs CloudStorage) *Client
New returns a new IsolateServer client.
'authClient' must implement authentication sufficient to talk to Isolate server (OAuth tokens with 'email' scope).
'anonClient' must be a functional http.Client.
If either client is nil, it will use http.DefaultClient (which will not work on Classic AppEngine!).
If you're unsure which namespace to use, use the DefaultNamespace constant.
If gcs is nil, the defaultGCSHandler is used for fetching from and pushing to GCS.
func (*Client) Contains ¶
func (i *Client) Contains(c context.Context, items []*isolateservice.HandlersEndpointsV1Digest) (out []*PushState, err error)
Contains looks up cache presence on the server of multiple items.
The returned list is in the same order as 'items', with entries nil for items that were present.
func (*Client) Fetch ¶
func (i *Client) Fetch(c context.Context, item *isolateservice.HandlersEndpointsV1Digest, dest io.WriteSeeker) error
Fetch downloads an item from the server.
func (*Client) Push ¶
Push pushed a missing item, as reported by Contains(), to the server.
func (*Client) ServerCapabilities ¶
func (i *Client) ServerCapabilities(c context.Context) (*isolateservice.HandlersEndpointsV1ServerDetails, error)
ServerCapabilities returns the server details.
type CloudStorage ¶
type CloudStorage interface { // Fetch is a handler for retrieving specified content from GCS and storing // the response in the provided destination buffer. Fetch(context.Context, *Client, isolateservice.HandlersEndpointsV1RetrievedContent, io.WriteSeeker) error // Push is a handler for pushing content from provided buffer to GCS. Push(context.Context, *Client, isolateservice.HandlersEndpointsV1PreuploadStatus, Source) error }
CloudStorage is the interface for clients to fetch from and push to GCS storage.
type Flags ¶
Flags contains values parsed from command line arguments.
func (*Flags) Init ¶
Init registers flags in a given flag set.
type PushState ¶
type PushState struct {
// contains filtered or unexported fields
}
PushState is per-item state passed from IsolateServer.Contains() to IsolateServer.Push().
Its content is implementation specific.
type Source ¶
type Source func() (io.ReadCloser, error)
Source is a generator method to return source data. A generated Source must be Closed before the generator is called again.
Directories
¶
Path | Synopsis |
---|---|
Package isolatedfake implements an in-process fake Isolated server for integration testing.
|
Package isolatedfake implements an in-process fake Isolated server for integration testing. |