Documentation ¶
Index ¶
- Constants
- func APIPath(path ...string) string
- type Client
- type Doer
- type EventListener
- type MockClient
- func (c *MockClient) CallAPI(method, path string, params QueryParams, header http.Header, body io.Reader, ...) (response *api.Response, etag string, err error)
- func (c *MockClient) GetEvents() (eventListener *EventListener, err error)
- func (c *MockClient) QueryOperation(method, path string, params QueryParams, header http.Header, body io.Reader, ...) (op Operation, etag string, err error)
- func (c *MockClient) QueryStruct(method, path string, params QueryParams, header http.Header, body io.Reader, ...) (string, error)
- func (c *MockClient) SetTransportTimeout(timeout time.Duration)
- func (c *MockClient) Websocket(resource string) (conn *websocket.Conn, err error)
- type MockOperation
- func (op *MockOperation) AddHandler(function func(api.Operation)) (target Target, err error)
- func (op *MockOperation) Cancel() error
- func (op *MockOperation) Get() api.Operation
- func (op *MockOperation) GetWebsocket() (conn *websocket.Conn, err error)
- func (op *MockOperation) Refresh() error
- func (op *MockOperation) RemoveHandler(target Target) error
- func (op *MockOperation) Wait(ctx context.Context) error
- type Operation
- type Operations
- type QueryParams
- type Target
Constants ¶
const (
DefaultTransportTimeout = 30 * time.Second
)
Default value for client requests to wait for a reply
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client interface { SetTransportTimeout(timeout time.Duration) QueryStruct(method, path string, params QueryParams, header http.Header, body io.Reader, ETag string, target interface{}) (etag string, err error) QueryOperation(method, path string, params QueryParams, header http.Header, body io.Reader, ETag string) (operation Operation, etag string, err error) CallAPI(method, path string, params QueryParams, header http.Header, body io.Reader, ETag string) (response *api.Response, etag string, err error) Websocket(resource string) (conn *websocket.Conn, err error) // Event handling functions GetEvents() (listener *EventListener, err error) }
The Client interface represents all available REST client operations
type EventListener ¶
type EventListener struct {
// contains filtered or unexported fields
}
EventListener is the event struct is used to interact with an event stream
func (*EventListener) AddHandler ¶
func (e *EventListener) AddHandler(target Target) (Target, error)
AddHandler adds a function to be called whenever an event is received
func (*EventListener) Disconnect ¶
func (e *EventListener) Disconnect()
Disconnect must be used once done listening for events
func (*EventListener) IsActive ¶
func (e *EventListener) IsActive() bool
IsActive returns true if this listener is still connected, false otherwise.
func (*EventListener) RemoveHandler ¶
func (e *EventListener) RemoveHandler(target Target) error
RemoveHandler removes a function to be called whenever an event is received
func (*EventListener) Wait ¶
func (e *EventListener) Wait() error
Wait hangs until the server disconnects the connection or Disconnect() is called
type MockClient ¶
type MockClient struct { Response *api.Response Operation *MockOperation EventListener *EventListener ETag string }
MockClient mock of Client interface for testing purpose
func (*MockClient) CallAPI ¶
func (c *MockClient) CallAPI(method, path string, params QueryParams, header http.Header, body io.Reader, ETag string) (response *api.Response, etag string, err error)
CallAPI mocked
func (*MockClient) GetEvents ¶
func (c *MockClient) GetEvents() (eventListener *EventListener, err error)
GetEvents mocked
func (*MockClient) QueryOperation ¶
func (c *MockClient) QueryOperation(method, path string, params QueryParams, header http.Header, body io.Reader, ETag string) (op Operation, etag string, err error)
QueryOperation mocked
func (*MockClient) QueryStruct ¶
func (c *MockClient) QueryStruct(method, path string, params QueryParams, header http.Header, body io.Reader, ETag string, target interface{}) (string, error)
QueryStruct mocked
func (*MockClient) SetTransportTimeout ¶
func (c *MockClient) SetTransportTimeout(timeout time.Duration)
SetTransportTimeout mocked
type MockOperation ¶
MockOperation mock of Operation interface
func (*MockOperation) AddHandler ¶
func (op *MockOperation) AddHandler(function func(api.Operation)) (target Target, err error)
AddHandler mocked
func (*MockOperation) GetWebsocket ¶
func (op *MockOperation) GetWebsocket() (conn *websocket.Conn, err error)
GetWebsocket mocked
func (*MockOperation) RemoveHandler ¶
func (op *MockOperation) RemoveHandler(target Target) error
RemoveHandler mocked
type Operation ¶
type Operation interface { AddHandler(function func(api.Operation)) (target Target, err error) Cancel() (err error) Get() (op api.Operation) RemoveHandler(target Target) (err error) Refresh() (err error) Wait(ctx context.Context) (err error) }
The Operation interface represents a currently running operation.
type Operations ¶
type Operations interface { ListOperationUUIDs() (uuids []string, err error) ListOperations() (operations []api.Operation, err error) RetrieveOperationByID(uuid string) (op *api.Operation, etag string, err error) WaitForOperationToFinish(uuid string, timeout time.Duration) (op *api.Operation, err error) DeleteOperation(uuid string) (err error) }
The Operations interface represents operations exposed API methods
func UpgradeToOperationsClient ¶
func UpgradeToOperationsClient(c Client) Operations
UpgradeToOperationsClient wraps generic client to implement Operations interface operations