handlers

package
v0.0.0-...-13bd798 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2024 License: GPL-3.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SystemAttributePrefix = "__SYSTEM__"

	ExpirationDurationAttr  = SystemAttributePrefix + "EXPIRATION_DURATION"
	ExpirationTimestampAttr = SystemAttributePrefix + "EXPIRATION_TIMESTAMP"
	ExpirationRFC3339Attr   = SystemAttributePrefix + "EXPIRATION_RFC3339"
)

Variables

This section is empty.

Functions

func GetObjectAttributes

func GetObjectAttributes(ctx context.Context, pool *pool.Pool, attrs []*models.Attribute, prm PrmAttributes) ([]object.Attribute, error)

GetObjectAttributes forms object attributes from request headers.

func IsObjectToken

func IsObjectToken(token *models.Bearer) (bool, error)

IsObjectToken check that provided token is for object.

Types

type API

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

API is a REST v1 request handler.

func New

func New(prm *PrmAPI) *API

New creates a new API using specified logger, connection pool and other parameters.

func (*API) Balance

func (a *API) Balance(params operations.GetBalanceParams) middleware.Responder

Balance handler that get balance from FrostFS.

func (*API) Configure

func (a *API) Configure(api *operations.FrostfsRestGwAPI) http.Handler

func (*API) DeleteContainer

func (a *API) DeleteContainer(params operations.DeleteContainerParams, principal *models.Principal) middleware.Responder

DeleteContainer handler that returns container info.

func (*API) DeleteObject

func (a *API) DeleteObject(params operations.DeleteObjectParams, principal *models.Principal) middleware.Responder

DeleteObject handler that removes object from FrostFS.

func (*API) FormBinaryBearer

func (a *API) FormBinaryBearer(params operations.FormBinaryBearerParams, principal *models.Principal) middleware.Responder

FormBinaryBearer handler that forms binary bearer token using headers with body and signature.

func (*API) GetContainer

func (a *API) GetContainer(params operations.GetContainerParams) middleware.Responder

GetContainer handler that returns container info.

func (*API) GetContainerEACL

func (a *API) GetContainerEACL(params operations.GetContainerEACLParams) middleware.Responder

GetContainerEACL handler that returns container eacl.

func (*API) GetObjectInfo

func (a *API) GetObjectInfo(params operations.GetObjectInfoParams, principal *models.Principal) middleware.Responder

GetObjectInfo handler that get object info.

func (*API) ListContainer

func (a *API) ListContainer(params operations.ListContainersParams) middleware.Responder

ListContainer handler that returns containers.

func (*API) OptionsAuth

func (*API) PostAuth

func (a *API) PostAuth(params operations.AuthParams) middleware.Responder

PostAuth handler that forms bearer token to sign.

func (*API) PutContainerEACL

func (a *API) PutContainerEACL(params operations.PutContainerEACLParams, principal *models.Principal) middleware.Responder

PutContainerEACL handler that update container eacl.

func (*API) PutContainers

func (a *API) PutContainers(params operations.PutContainerParams, principal *models.Principal) middleware.Responder

PutContainers handler that creates container in FrostFS.

func (*API) PutObjects

func (a *API) PutObjects(params operations.PutObjectParams, principal *models.Principal) middleware.Responder

PutObjects handler that uploads object to FrostFS.

func (API) RunServices

func (a API) RunServices()

func (*API) SearchObjects

func (a *API) SearchObjects(params operations.SearchObjectsParams, principal *models.Principal) middleware.Responder

SearchObjects handler that removes object from FrostFS.

func (API) StartCallback

func (a API) StartCallback()

type BearerToken

type BearerToken struct {
	Token     string
	Signature string
	Key       string
}

type ContextKey

type ContextKey string

ContextKey is used for context.Context value. The value requires a key that is not primitive type.

const (
	// BearerPrefix is the prefix for authorization token.
	BearerPrefix = "Bearer "

	// ContextKeyRequestID is the ContextKey for RequestID.
	ContextKeyRequestID ContextKey = "requestID"
)

type PrmAPI

type PrmAPI struct {
	Logger           *zap.Logger
	Pool             *pool.Pool
	Key              *keys.PrivateKey
	DefaultTimestamp bool

	GateMetric             *metrics.GateMetrics
	PrometheusService      *metrics.Service
	PprofService           *metrics.Service
	ServiceShutdownTimeout time.Duration
}

PrmAPI groups parameters to init rest API.

type PrmAttributes

type PrmAttributes struct {
	DefaultTimestamp bool
	DefaultFileName  string
}

PrmAttributes groups parameters to form attributes from request headers.

type SessionToken

type SessionToken struct {
	BearerToken
	Verb sessionv2.ContainerSessionVerb
}

Jump to

Keyboard shortcuts

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