Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContextWithToken ¶ added in v0.21.0
FIXME: #1159 (temp solution) we need to pass session token from header
type Server ¶ added in v0.17.0
type Server interface {
Put(context.Context, *container.PutRequest) (*container.PutResponse, error)
Get(context.Context, *container.GetRequest) (*container.GetResponse, error)
Delete(context.Context, *container.DeleteRequest) (*container.DeleteResponse, error)
List(context.Context, *container.ListRequest) (*container.ListResponse, error)
SetExtendedACL(context.Context, *container.SetExtendedACLRequest) (*container.SetExtendedACLResponse, error)
GetExtendedACL(context.Context, *container.GetExtendedACLRequest) (*container.GetExtendedACLResponse, error)
AnnounceUsedSpace(context.Context, *container.AnnounceUsedSpaceRequest) (*container.AnnounceUsedSpaceResponse, error)
}
Server is an interface of the NeoFS API Container service server
func NewExecutionService ¶
func NewExecutionService(exec ServiceExecutor) Server
NewExecutionService wraps ServiceExecutor and returns Container Service interface.
func NewResponseService ¶
NewResponseService returns container service instance that passes internal service call to response service.
func NewSignService ¶
func NewSignService(key *ecdsa.PrivateKey, svc Server) Server
type ServiceExecutor ¶
type ServiceExecutor interface {
Put(ContextWithToken, *container.PutRequestBody) (*container.PutResponseBody, error)
Delete(ContextWithToken, *container.DeleteRequestBody) (*container.DeleteResponseBody, error)
Get(context.Context, *container.GetRequestBody) (*container.GetResponseBody, error)
List(context.Context, *container.ListRequestBody) (*container.ListResponseBody, error)
SetExtendedACL(ContextWithToken, *container.SetExtendedACLRequestBody) (*container.SetExtendedACLResponseBody, error)
GetExtendedACL(context.Context, *container.GetExtendedACLRequestBody) (*container.GetExtendedACLResponseBody, error)
}
Click to show internal directories.
Click to hide internal directories.