restapi

package
v3.3.0-beta Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2022 License: Apache-2.0 Imports: 63 Imported by: 4

Documentation

Index

Constants

View Source
const (
	// URLFieldNamingParamName is URL parameter name for JSON schema http handler's setting
	// to output field names using proto/json/both names for fields
	URLFieldNamingParamName = "fieldnames"
	// OnlyProtoFieldNames is URL parameter value for JSON schema http handler to use only proto names as field names
	OnlyProtoFieldNames = "onlyproto"
	// OnlyJSONFieldNames is URL parameter value for JSON schema http handler to use only JSON names as field names
	OnlyJSONFieldNames = "onlyjson"

	// URLReplaceParamName is URL parameter name for modifying NB configuration PUT behaviour to act as whole
	// configuration replacer instead of config updater (fullresync vs update). It has the same effect as replace
	// parameter for agentctl config update.
	// Examples how to use full resync:
	// <VPP-Agent IP address>:9191/configuration?replace
	// <VPP-Agent IP address>:9191/configuration?replace=true
	URLReplaceParamName = "replace"

	// YamlContentType is http header content type for YAML content
	YamlContentType = "application/yaml"
)
View Source
const (
	GET  = http.MethodGet
	POST = http.MethodPost
	PUT  = http.MethodPut
)

REST api methods

Variables

View Source
var DefaultPlugin = *NewPlugin()

DefaultPlugin is a default instance of Plugin.

View Source
var (
	// ErrHandlerUnavailable represents error returned when particular
	// handler is not available
	ErrHandlerUnavailable = errors.New("handler is not available")
)

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

Types

type Deps

type Deps struct {
	infra.PluginDeps
	HTTPHandlers  rest.HTTPHandlers
	VPP           govppmux.API
	ServiceLabel  servicelabel.ReaderAPI
	AddrAlloc     netalloc.AddressAllocator
	VPPACLPlugin  aclplugin.API
	VPPIfPlugin   ifplugin.API
	VPPL2Plugin   *l2plugin.L2Plugin
	VPPL3Plugin   *l3plugin.L3Plugin
	LinuxIfPlugin linuxifplugin.API
	NsPlugin      nsplugin.API
	Dispatcher    orchestrator.Dispatcher
	KVScheduler   kvscheduler.KVScheduler
}

Deps represents dependencies of Rest Plugin

type Option

type Option func(*Plugin)

Option is a function that acts on a Plugin to inject Dependencies or configuration

func UseDeps

func UseDeps(cb func(*Deps)) Option

UseDeps returns Option that can inject custom dependencies.

type Plugin

type Plugin struct {
	Deps
	// contains filtered or unexported fields
}

Plugin registers Rest Plugin

func NewPlugin

func NewPlugin(opts ...Option) *Plugin

NewPlugin creates a new Plugin with the provides Options

func (*Plugin) AfterInit

func (p *Plugin) AfterInit() (err error)

AfterInit is used to register HTTP handlers

func (*Plugin) Close

func (p *Plugin) Close() error

Close is used to clean up resources used by Plugin

func (*Plugin) ConvertValidationErrorOutput added in v3.3.0

func (p *Plugin) ConvertValidationErrorOutput(validationErrors *kvscheduler.InvalidMessagesError, knownModels []*models.ModelInfo, config *dynamicpb.Message) []interface{}

ConvertValidationErrorOutput converts kvscheduler.ValidateSemantically(...) output to REST API output

func (*Plugin) Init

func (p *Plugin) Init() (err error)

Init initializes the Rest Plugin

Directories

Path Synopsis
jsonschema

Jump to

Keyboard shortcuts

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