api

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HTTPMethodGet  string = "GET"
	HTTPMethodPost string = "POST"
)

Variables

This section is empty.

Functions

func CreateApiDomain added in v0.6.0

func CreateApiDomain(spec *ApiSpec) (types.Domain, error)

Types

type APIResponse added in v0.12.0

type APIResponse struct {
	StatusCode int
	Status     string
	Raw        any
	Response   any
}

type ApiDomain

type ApiDomain struct {
	// contains filtered or unexported fields
}

ApiDomain is a domain that is defined by a list of API requests.

func (ApiDomain) GetResources

func (a ApiDomain) GetResources(ctx context.Context) (types.DomainResources, error)

func (ApiDomain) IsExecutable added in v0.4.0

func (a ApiDomain) IsExecutable() bool

IsExecutable returns true if any of the requests are marked executable

type ApiOpts added in v0.11.0

type ApiOpts struct {
	// Timeout in seconds
	Timeout string            `json:"timeout,omitempty" yaml:"timeout,omitempty"`
	Proxy   string            `json:"proxy,omitempty" yaml:"proxy,omitempty"`
	Headers map[string]string `json:"headers,omitempty" yaml:"headers,omitempty"`
}

User-defined options which can be set at the top level (for all requests) or request level (to apply to a single request, or override the top-level opts).

type ApiSpec

type ApiSpec struct {
	Requests []Request `mapstructure:"requests" json:"requests" yaml:"requests"`
	// Opts will be applied to all requests, except those which have their own
	// specified ApiOpts
	Options *ApiOpts `mapstructure:"options" json:"options,omitempty" yaml:"options,omitempty"`
}

User input fields for the API Domain ApiSpec contains the user-defined list of API requests

type Request

type Request struct {
	Name       string            `json:"name" yaml:"name"`
	URL        string            `json:"url" yaml:"url"`
	Params     map[string]string `json:"parameters,omitempty" yaml:"parameters,omitempty"`
	Method     string            `json:"method,omitempty" yaml:"method,omitempty"`
	Body       string            `json:"body,omitempty" yaml:"body,omitempty"`
	Executable bool              `json:"executable,omitempty" yaml:"executable,omitempty"`
	// ApiOpts specific to this request. If ApiOpts is present, values in the
	// ApiSpec-level Options are ignored for this request.
	Options *ApiOpts `json:"options,omitempty" yaml:"options,omitempty"`
}

Request is a user-defined single API request

Jump to

Keyboard shortcuts

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