api

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

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

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

func NewOrderedValues(vals [][]string) OrderedValues

NewOrderedValues returns a new OrderedValues object.

func ParseQuery

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

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

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

Del deletes the values associated with key.

func (*OrderedValues) Encode

func (v *OrderedValues) Encode() string

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

func (*OrderedValues) EncodeTo

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

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

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

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

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

func (*OrderedValues) String

func (v *OrderedValues) String() string

func (*OrderedValues) StringAdd

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

func (v *OrderedValues) StringDel(key string)

StringDel deletes the values associated with key.

func (*OrderedValues) StringGet

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

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

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