api

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2018 License: Apache-2.0 Imports: 18 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WriteIndented

func WriteIndented(w io.Writer, b []byte) error

WriteIndented indents all lines four spaces.

func WriteIndentedN

func WriteIndentedN(w io.Writer, b []byte, n int) error

WriteIndentedN indents all lines n spaces.

Types

type Client

type Client interface {

	// Do sends an HTTP request to the OneFS API.
	Do(
		ctx context.Context,
		method, path, id string,
		params OrderedValues,
		body, resp interface{}) error

	// DoWithHeaders sends an HTTP request to the OneFS API.
	DoWithHeaders(
		ctx context.Context,
		method, path, id string,
		params OrderedValues, headers map[string]string,
		body, resp interface{}) error

	// Get sends an HTTP request using the GET method to the OneFS API.
	Get(
		ctx context.Context,
		path, id string,
		params OrderedValues, headers map[string]string,
		resp interface{}) error

	// Post sends an HTTP request using the POST method to the OneFS API.
	Post(
		ctx context.Context,
		path, id string,
		params OrderedValues, headers map[string]string,
		body, resp interface{}) error

	// Put sends an HTTP request using the PUT method to the OneFS API.
	Put(
		ctx context.Context,
		path, id string,
		params OrderedValues, headers map[string]string,
		body, resp interface{}) error

	// Delete sends an HTTP request using the DELETE method to the OneFS API.
	Delete(
		ctx context.Context,
		path, id string,
		params OrderedValues, headers map[string]string,
		resp interface{}) error

	// APIVersion returns the API version.
	APIVersion() uint8

	// User returns the user name used to access the OneFS API.
	User() string

	// Group returns the group name used to access the OneFS API.
	Group() string

	// VolumesPath returns the client's configured volumes path.
	VolumesPath() string

	// VolumePath returns the path to a volume with the provided name.
	VolumePath(name string) string
}

Client is an API client.

func New

func New(
	ctx context.Context,
	host, user, pass, group string,
	opts *ClientOptions) (Client, error)

New returns a new API client.

type ClientOptions

type ClientOptions struct {
	// Insecure is a flag that indicates whether or not to supress SSL errors.
	Insecure bool

	// VolumesPath is the location on the Isilon server where volumes are
	// stored.
	VolumesPath string

	// Timeout specifies a time limit for requests made by this client.
	Timeout time.Duration
}

ClientOptions are options for the API client.

type Error

type Error struct {
	Code    string `json:"code"`
	Field   string `json:"field"`
	Message string `json:"message"`
}

Error is an API error.

type JSONError

type JSONError struct {
	StatusCode int
	Err        []Error `json:"errors"`
}

JSONError is a JSON response with one or more errors.

func (*JSONError) Error

func (err *JSONError) Error() string

type OrderedValues added in v1.4.0

type OrderedValues [][][]byte

OrderedValues maps a string key to a list of values and preserves insertion order of the keys. It is typically used for query parameters and form values. Unlike in the http.Header map, the keys in a Values map are case-sensitive.

func NewOrderedValues added in v1.4.0

func NewOrderedValues(vals [][]string) OrderedValues

NewOrderedValues returns a new OrderedValues object.

func ParseQuery added in v1.4.0

func ParseQuery(query string) (OrderedValues, error)

ParseQuery parses the URL-encoded query string and returns an OrderedValues object. ParseQuery may return nil if no valid query parameters are found. The return error object is set to the first encountered decoding error, if any.

func (*OrderedValues) Add added in v1.4.0

func (v *OrderedValues) Add(key, val []byte)

Add adds the value to key. It appends to any existing values associated with key.

func (*OrderedValues) Del added in v1.4.0

func (v *OrderedValues) Del(key []byte)

Del deletes the values associated with key.

func (*OrderedValues) Encode added in v1.4.0

func (v *OrderedValues) Encode() string

Encode encodes the values into “URL encoded” form ("bar=baz&foo=quux") using insertion order.

func (*OrderedValues) EncodeTo added in v1.4.0

func (v *OrderedValues) EncodeTo(w io.Writer) error

EncodeTo encodes the values into “URL encoded” form ("bar=baz&foo=quux") using insertion order.

func (*OrderedValues) Get added in v1.4.0

func (v *OrderedValues) Get(key []byte) []byte

Get gets the first value associated with the given key. If there are no values associated with the key, Get returns the empty string. To access multiple values, use the array directly.

func (*OrderedValues) GetOk added in v1.4.0

func (v *OrderedValues) GetOk(key []byte) ([]byte, bool)

GetOk returns a flag indicating whether or not the key exists. The Get method can return an empty value for keys that do not have values, so it cannot be trusted to indicate the existence of a key.

func (*OrderedValues) Set added in v1.4.0

func (v *OrderedValues) Set(key, val []byte)

Set sets the key to value. It replaces any existing values.

func (*OrderedValues) String added in v1.4.0

func (v *OrderedValues) String() string

func (*OrderedValues) StringAdd added in v1.4.0

func (v *OrderedValues) StringAdd(key, val string)

StringAdd adds the value to key. It appends to any existing values associated with key.

func (*OrderedValues) StringDel added in v1.4.0

func (v *OrderedValues) StringDel(key string)

StringDel deletes the values associated with key.

func (*OrderedValues) StringGet added in v1.4.0

func (v *OrderedValues) StringGet(key string) string

StringGet gets the first value associated with the given key. If there are no values associated with the key, Get returns the empty string. To access multiple values, use the array directly.

func (*OrderedValues) StringGetOk added in v1.4.0

func (v *OrderedValues) StringGetOk(key string) (string, bool)

StringGetOk returns a flag indicating whether or not the key exists. The StringGet method can return an empty value for keys that do not have values, so it cannot be trusted to indicate the existence of a key.

func (*OrderedValues) StringSet added in v1.4.0

func (v *OrderedValues) StringSet(key, val string)

StringSet sets the key to value. It replaces any existing values.

Directories

Path Synopsis
Package json implements encoding and decoding of JSON as defined in RFC 4627.
Package json implements encoding and decoding of JSON as defined in RFC 4627.

Jump to

Keyboard shortcuts

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