[#1] Build REST Gateway with FrostFS dependencies

This commit is contained in:
Alexey Vanin 2022-12-15 13:03:54 +03:00 committed by Kirillov Denis
parent 2345fe6441
commit 803cafbbd5
70 changed files with 325 additions and 284 deletions

View file

@ -70,7 +70,7 @@ endif
# Generate server by swagger spec
generate-server: swagger
./bin/swagger generate server -t gen -f ./spec/rest.yaml --exclude-main \
-A neofs-rest-gw -P models.Principal \
-A frostfs-rest-gw -P models.Principal \
-C templates/server-config.yaml --template-dir templates
# Run tests

View file

@ -10,15 +10,15 @@ import (
"strings"
"time"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi"
"github.com/TrueCloudLab/frostfs-rest-gw/handlers"
"github.com/TrueCloudLab/frostfs-rest-gw/metrics"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/nspcc-dev/neo-go/cli/flags"
"github.com/nspcc-dev/neo-go/cli/input"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neo-go/pkg/util"
"github.com/nspcc-dev/neo-go/pkg/wallet"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi"
"github.com/nspcc-dev/neofs-rest-gw/handlers"
"github.com/nspcc-dev/neofs-rest-gw/metrics"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"github.com/spf13/pflag"
"github.com/spf13/viper"
"go.uber.org/zap"

View file

@ -14,24 +14,24 @@ import (
"testing"
"time"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/handlers"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
"github.com/TrueCloudLab/frostfs-sdk-go/bearer"
"github.com/TrueCloudLab/frostfs-sdk-go/container"
"github.com/TrueCloudLab/frostfs-sdk-go/container/acl"
cid "github.com/TrueCloudLab/frostfs-sdk-go/container/id"
neofsecdsa "github.com/TrueCloudLab/frostfs-sdk-go/crypto/ecdsa"
"github.com/TrueCloudLab/frostfs-sdk-go/eacl"
"github.com/TrueCloudLab/frostfs-sdk-go/netmap"
"github.com/TrueCloudLab/frostfs-sdk-go/object"
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/TrueCloudLab/frostfs-sdk-go/user"
"github.com/go-openapi/loads"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/nspcc-dev/neofs-rest-gw/handlers"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
"github.com/nspcc-dev/neofs-sdk-go/bearer"
"github.com/nspcc-dev/neofs-sdk-go/container"
"github.com/nspcc-dev/neofs-sdk-go/container/acl"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
neofsecdsa "github.com/nspcc-dev/neofs-sdk-go/crypto/ecdsa"
"github.com/nspcc-dev/neofs-sdk-go/eacl"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/object"
oid "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"github.com/nspcc-dev/neofs-sdk-go/user"
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
"github.com/testcontainers/testcontainers-go"
@ -166,7 +166,7 @@ func runServer(ctx context.Context, t *testing.T, node string) context.CancelFun
swaggerSpec, err := loads.Analyzed(restapi.SwaggerJSON, "")
require.NoError(t, err)
api := operations.NewNeofsRestGwAPI(swaggerSpec)
api := operations.NewFrostfsRestGwAPI(swaggerSpec)
server := restapi.NewServer(api, serverConfig(v))
server.ConfigureAPI(neofsAPI.Configure)

View file

@ -5,9 +5,9 @@ import (
"os/signal"
"syscall"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/go-openapi/loads"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"go.uber.org/zap"
)
@ -31,7 +31,7 @@ func main() {
serverCfg := serverConfig(v)
serverCfg.SuccessfulStartCallback = neofsAPI.StartCallback
api := operations.NewNeofsRestGwAPI(swaggerSpec)
api := operations.NewFrostfsRestGwAPI(swaggerSpec)
server := restapi.NewServer(api, serverCfg)
defer func() {
if err = server.Shutdown(); err != nil {

View file

@ -2,18 +2,18 @@
// Package restapi REST API NeoFS
//
// REST API for native integration with NeoFS.
// Schemes:
// http
// Host: localhost:8090
// BasePath: /v1
// Version: v1
// REST API for native integration with NeoFS.
// Schemes:
// http
// Host: localhost:8090
// BasePath: /v1
// Version: v1
//
// Consumes:
// - application/json
// Consumes:
// - application/json
//
// Produces:
// - application/json
// Produces:
// - application/json
//
// swagger:meta
package restapi

View file

@ -29,10 +29,10 @@ func NewAuth(ctx *middleware.Context, handler AuthHandler) *Auth {
return &Auth{Context: ctx, Handler: handler}
}
/* Auth swagger:route POST /auth auth
/*
Auth swagger:route POST /auth auth
Form bearer token to further requests
*/
type Auth struct {
Context *middleware.Context

View file

@ -16,7 +16,7 @@ import (
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// NewAuthParams creates a new AuthParams object

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// AuthOKCode is the HTTP code returned for type AuthOK
const AuthOKCode int = 200
/*AuthOK Base64 encoded stable binary marshaled bearer token bodies.
/*
AuthOK Base64 encoded stable binary marshaled bearer token bodies.
swagger:response authOK
*/
@ -85,7 +86,8 @@ func (o *AuthOK) WriteResponse(rw http.ResponseWriter, producer runtime.Producer
// AuthBadRequestCode is the HTTP code returned for type AuthBadRequest
const AuthBadRequestCode int = 400
/*AuthBadRequest Bad request
/*
AuthBadRequest Bad request
swagger:response authBadRequest
*/

View file

@ -10,7 +10,7 @@ import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// DeleteContainerHandlerFunc turns a function with the right signature into a delete container handler
@ -31,10 +31,10 @@ func NewDeleteContainer(ctx *middleware.Context, handler DeleteContainerHandler)
return &DeleteContainer{Context: ctx, Handler: handler}
}
/* DeleteContainer swagger:route DELETE /containers/{containerId} deleteContainer
/*
DeleteContainer swagger:route DELETE /containers/{containerId} deleteContainer
Delete container by id
*/
type DeleteContainer struct {
Context *middleware.Context

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// DeleteContainerOKCode is the HTTP code returned for type DeleteContainerOK
const DeleteContainerOKCode int = 200
/*DeleteContainerOK Successful deletion.
/*
DeleteContainerOK Successful deletion.
swagger:response deleteContainerOK
*/
@ -82,7 +83,8 @@ func (o *DeleteContainerOK) WriteResponse(rw http.ResponseWriter, producer runti
// DeleteContainerBadRequestCode is the HTTP code returned for type DeleteContainerBadRequest
const DeleteContainerBadRequestCode int = 400
/*DeleteContainerBadRequest Bad request.
/*
DeleteContainerBadRequest Bad request.
swagger:response deleteContainerBadRequest
*/

View file

@ -10,7 +10,7 @@ import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// DeleteObjectHandlerFunc turns a function with the right signature into a delete object handler
@ -31,10 +31,10 @@ func NewDeleteObject(ctx *middleware.Context, handler DeleteObjectHandler) *Dele
return &DeleteObject{Context: ctx, Handler: handler}
}
/* DeleteObject swagger:route DELETE /objects/{containerId}/{objectId} deleteObject
/*
DeleteObject swagger:route DELETE /objects/{containerId}/{objectId} deleteObject
Remove object from NeoFS
*/
type DeleteObject struct {
Context *middleware.Context

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// DeleteObjectOKCode is the HTTP code returned for type DeleteObjectOK
const DeleteObjectOKCode int = 200
/*DeleteObjectOK Successful deletion.
/*
DeleteObjectOK Successful deletion.
swagger:response deleteObjectOK
*/
@ -82,7 +83,8 @@ func (o *DeleteObjectOK) WriteResponse(rw http.ResponseWriter, producer runtime.
// DeleteObjectBadRequestCode is the HTTP code returned for type DeleteObjectBadRequest
const DeleteObjectBadRequestCode int = 400
/*DeleteObjectBadRequest Bad request.
/*
DeleteObjectBadRequest Bad request.
swagger:response deleteObjectBadRequest
*/

View file

@ -10,7 +10,7 @@ import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// FormBinaryBearerHandlerFunc turns a function with the right signature into a form binary bearer handler
@ -31,10 +31,10 @@ func NewFormBinaryBearer(ctx *middleware.Context, handler FormBinaryBearerHandle
return &FormBinaryBearer{Context: ctx, Handler: handler}
}
/* FormBinaryBearer swagger:route GET /auth/bearer formBinaryBearer
/*
FormBinaryBearer swagger:route GET /auth/bearer formBinaryBearer
Form binary bearer token
*/
type FormBinaryBearer struct {
Context *middleware.Context

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// FormBinaryBearerOKCode is the HTTP code returned for type FormBinaryBearerOK
const FormBinaryBearerOKCode int = 200
/*FormBinaryBearerOK Base64 encoded stable binary marshaled bearer token.
/*
FormBinaryBearerOK Base64 encoded stable binary marshaled bearer token.
swagger:response formBinaryBearerOK
*/
@ -82,7 +83,8 @@ func (o *FormBinaryBearerOK) WriteResponse(rw http.ResponseWriter, producer runt
// FormBinaryBearerBadRequestCode is the HTTP code returned for type FormBinaryBearerBadRequest
const FormBinaryBearerBadRequestCode int = 400
/*FormBinaryBearerBadRequest Bad request
/*
FormBinaryBearerBadRequest Bad request
swagger:response formBinaryBearerBadRequest
*/

View file

@ -19,12 +19,12 @@ import (
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// NewNeofsRestGwAPI creates a new NeofsRestGw instance
func NewNeofsRestGwAPI(spec *loads.Document) *NeofsRestGwAPI {
return &NeofsRestGwAPI{
// NewFrostfsRestGwAPI creates a new FrostfsRestGw instance
func NewFrostfsRestGwAPI(spec *loads.Document) *FrostfsRestGwAPI {
return &FrostfsRestGwAPI{
handlers: make(map[string]map[string]http.Handler),
formats: strfmt.Default,
defaultConsumes: "application/json",
@ -117,8 +117,8 @@ func NewNeofsRestGwAPI(spec *loads.Document) *NeofsRestGwAPI {
}
}
/*NeofsRestGwAPI REST API for native integration with NeoFS. */
type NeofsRestGwAPI struct {
/*FrostfsRestGwAPI REST API for native integration with NeoFS. */
type FrostfsRestGwAPI struct {
spec *loads.Document
context *middleware.Context
handlers map[string]map[string]http.Handler
@ -220,52 +220,52 @@ type NeofsRestGwAPI struct {
}
// UseRedoc for documentation at /docs
func (o *NeofsRestGwAPI) UseRedoc() {
func (o *FrostfsRestGwAPI) UseRedoc() {
o.useSwaggerUI = false
}
// UseSwaggerUI for documentation at /docs
func (o *NeofsRestGwAPI) UseSwaggerUI() {
func (o *FrostfsRestGwAPI) UseSwaggerUI() {
o.useSwaggerUI = true
}
// SetDefaultProduces sets the default produces media type
func (o *NeofsRestGwAPI) SetDefaultProduces(mediaType string) {
func (o *FrostfsRestGwAPI) SetDefaultProduces(mediaType string) {
o.defaultProduces = mediaType
}
// SetDefaultConsumes returns the default consumes media type
func (o *NeofsRestGwAPI) SetDefaultConsumes(mediaType string) {
func (o *FrostfsRestGwAPI) SetDefaultConsumes(mediaType string) {
o.defaultConsumes = mediaType
}
// SetSpec sets a spec that will be served for the clients.
func (o *NeofsRestGwAPI) SetSpec(spec *loads.Document) {
func (o *FrostfsRestGwAPI) SetSpec(spec *loads.Document) {
o.spec = spec
}
// DefaultProduces returns the default produces media type
func (o *NeofsRestGwAPI) DefaultProduces() string {
func (o *FrostfsRestGwAPI) DefaultProduces() string {
return o.defaultProduces
}
// DefaultConsumes returns the default consumes media type
func (o *NeofsRestGwAPI) DefaultConsumes() string {
func (o *FrostfsRestGwAPI) DefaultConsumes() string {
return o.defaultConsumes
}
// Formats returns the registered string formats
func (o *NeofsRestGwAPI) Formats() strfmt.Registry {
func (o *FrostfsRestGwAPI) Formats() strfmt.Registry {
return o.formats
}
// RegisterFormat registers a custom format validator
func (o *NeofsRestGwAPI) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) {
func (o *FrostfsRestGwAPI) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) {
o.formats.Add(name, format, validator)
}
// Validate validates the registrations in the NeofsRestGwAPI
func (o *NeofsRestGwAPI) Validate() error {
// Validate validates the registrations in the FrostfsRestGwAPI
func (o *FrostfsRestGwAPI) Validate() error {
var unregistered []string
if o.JSONConsumer == nil {
@ -352,12 +352,12 @@ func (o *NeofsRestGwAPI) Validate() error {
}
// ServeErrorFor gets a error handler for a given operation id
func (o *NeofsRestGwAPI) ServeErrorFor(operationID string) func(http.ResponseWriter, *http.Request, error) {
func (o *FrostfsRestGwAPI) ServeErrorFor(operationID string) func(http.ResponseWriter, *http.Request, error) {
return o.ServeError
}
// AuthenticatorsFor gets the authenticators for the specified security schemes
func (o *NeofsRestGwAPI) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator {
func (o *FrostfsRestGwAPI) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator {
result := make(map[string]runtime.Authenticator)
for name := range schemes {
switch name {
@ -373,13 +373,13 @@ func (o *NeofsRestGwAPI) AuthenticatorsFor(schemes map[string]spec.SecuritySchem
}
// Authorizer returns the registered authorizer
func (o *NeofsRestGwAPI) Authorizer() runtime.Authorizer {
func (o *FrostfsRestGwAPI) Authorizer() runtime.Authorizer {
return o.APIAuthorizer
}
// ConsumersFor gets the consumers for the specified media types.
// MIME type parameters are ignored here.
func (o *NeofsRestGwAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer {
func (o *FrostfsRestGwAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer {
result := make(map[string]runtime.Consumer, len(mediaTypes))
for _, mt := range mediaTypes {
switch mt {
@ -396,7 +396,7 @@ func (o *NeofsRestGwAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Co
// ProducersFor gets the producers for the specified media types.
// MIME type parameters are ignored here.
func (o *NeofsRestGwAPI) ProducersFor(mediaTypes []string) map[string]runtime.Producer {
func (o *FrostfsRestGwAPI) ProducersFor(mediaTypes []string) map[string]runtime.Producer {
result := make(map[string]runtime.Producer, len(mediaTypes))
for _, mt := range mediaTypes {
switch mt {
@ -412,7 +412,7 @@ func (o *NeofsRestGwAPI) ProducersFor(mediaTypes []string) map[string]runtime.Pr
}
// HandlerFor gets a http.Handler for the provided operation method and path
func (o *NeofsRestGwAPI) HandlerFor(method, path string) (http.Handler, bool) {
func (o *FrostfsRestGwAPI) HandlerFor(method, path string) (http.Handler, bool) {
if o.handlers == nil {
return nil, false
}
@ -427,8 +427,8 @@ func (o *NeofsRestGwAPI) HandlerFor(method, path string) (http.Handler, bool) {
return h, ok
}
// Context returns the middleware context for the neofs rest gw API
func (o *NeofsRestGwAPI) Context() *middleware.Context {
// Context returns the middleware context for the frostfs rest gw API
func (o *FrostfsRestGwAPI) Context() *middleware.Context {
if o.context == nil {
o.context = middleware.NewRoutableContext(o.spec, o, nil)
}
@ -436,7 +436,7 @@ func (o *NeofsRestGwAPI) Context() *middleware.Context {
return o.context
}
func (o *NeofsRestGwAPI) initHandlerCache() {
func (o *FrostfsRestGwAPI) initHandlerCache() {
o.Context() // don't care about the result, just that the initialization happened
if o.handlers == nil {
o.handlers = make(map[string]map[string]http.Handler)
@ -530,7 +530,7 @@ func (o *NeofsRestGwAPI) initHandlerCache() {
// Serve creates a http handler to serve the API over HTTP
// can be used directly in http.ListenAndServe(":8000", api.Serve(nil))
func (o *NeofsRestGwAPI) Serve(builder middleware.Builder) http.Handler {
func (o *FrostfsRestGwAPI) Serve(builder middleware.Builder) http.Handler {
o.Init()
if o.Middleware != nil {
@ -543,24 +543,24 @@ func (o *NeofsRestGwAPI) Serve(builder middleware.Builder) http.Handler {
}
// Init allows you to just initialize the handler cache, you can then recompose the middleware as you see fit
func (o *NeofsRestGwAPI) Init() {
func (o *FrostfsRestGwAPI) Init() {
if len(o.handlers) == 0 {
o.initHandlerCache()
}
}
// RegisterConsumer allows you to add (or override) a consumer for a media type.
func (o *NeofsRestGwAPI) RegisterConsumer(mediaType string, consumer runtime.Consumer) {
func (o *FrostfsRestGwAPI) RegisterConsumer(mediaType string, consumer runtime.Consumer) {
o.customConsumers[mediaType] = consumer
}
// RegisterProducer allows you to add (or override) a producer for a media type.
func (o *NeofsRestGwAPI) RegisterProducer(mediaType string, producer runtime.Producer) {
func (o *FrostfsRestGwAPI) RegisterProducer(mediaType string, producer runtime.Producer) {
o.customProducers[mediaType] = producer
}
// AddMiddlewareFor adds a http middleware to existing handler
func (o *NeofsRestGwAPI) AddMiddlewareFor(method, path string, builder middleware.Builder) {
func (o *FrostfsRestGwAPI) AddMiddlewareFor(method, path string, builder middleware.Builder) {
um := strings.ToUpper(method)
if path == "/" {
path = ""

View file

@ -29,12 +29,12 @@ func NewGetBalance(ctx *middleware.Context, handler GetBalanceHandler) *GetBalan
return &GetBalance{Context: ctx, Handler: handler}
}
/* GetBalance swagger:route GET /accounting/balance/{address} getBalance
/*
GetBalance swagger:route GET /accounting/balance/{address} getBalance
Get balance in NeoFS
# Get balance in NeoFS
Getting balance of provided wallet address in NeoFS.
*/
type GetBalance struct {
Context *middleware.Context

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// GetBalanceOKCode is the HTTP code returned for type GetBalanceOK
const GetBalanceOKCode int = 200
/*GetBalanceOK Balance of address in NeoFS
/*
GetBalanceOK Balance of address in NeoFS
swagger:response getBalanceOK
*/
@ -82,7 +83,8 @@ func (o *GetBalanceOK) WriteResponse(rw http.ResponseWriter, producer runtime.Pr
// GetBalanceBadRequestCode is the HTTP code returned for type GetBalanceBadRequest
const GetBalanceBadRequestCode int = 400
/*GetBalanceBadRequest Bad request
/*
GetBalanceBadRequest Bad request
swagger:response getBalanceBadRequest
*/

View file

@ -29,10 +29,10 @@ func NewGetContainer(ctx *middleware.Context, handler GetContainerHandler) *GetC
return &GetContainer{Context: ctx, Handler: handler}
}
/* GetContainer swagger:route GET /containers/{containerId} getContainer
/*
GetContainer swagger:route GET /containers/{containerId} getContainer
Get container by id
*/
type GetContainer struct {
Context *middleware.Context

View file

@ -29,10 +29,10 @@ func NewGetContainerEACL(ctx *middleware.Context, handler GetContainerEACLHandle
return &GetContainerEACL{Context: ctx, Handler: handler}
}
/* GetContainerEACL swagger:route GET /containers/{containerId}/eacl getContainerEAcl
/*
GetContainerEACL swagger:route GET /containers/{containerId}/eacl getContainerEAcl
Get container EACL by id
*/
type GetContainerEACL struct {
Context *middleware.Context

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// GetContainerEACLOKCode is the HTTP code returned for type GetContainerEACLOK
const GetContainerEACLOKCode int = 200
/*GetContainerEACLOK Container EACL information.
/*
GetContainerEACLOK Container EACL information.
swagger:response getContainerEAclOK
*/
@ -82,7 +83,8 @@ func (o *GetContainerEACLOK) WriteResponse(rw http.ResponseWriter, producer runt
// GetContainerEACLBadRequestCode is the HTTP code returned for type GetContainerEACLBadRequest
const GetContainerEACLBadRequestCode int = 400
/*GetContainerEACLBadRequest Bad request.
/*
GetContainerEACLBadRequest Bad request.
swagger:response getContainerEAclBadRequest
*/

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// GetContainerOKCode is the HTTP code returned for type GetContainerOK
const GetContainerOKCode int = 200
/*GetContainerOK Container info.
/*
GetContainerOK Container info.
swagger:response getContainerOK
*/
@ -82,7 +83,8 @@ func (o *GetContainerOK) WriteResponse(rw http.ResponseWriter, producer runtime.
// GetContainerBadRequestCode is the HTTP code returned for type GetContainerBadRequest
const GetContainerBadRequestCode int = 400
/*GetContainerBadRequest Bad request.
/*
GetContainerBadRequest Bad request.
swagger:response getContainerBadRequest
*/

View file

@ -10,7 +10,7 @@ import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// GetObjectInfoHandlerFunc turns a function with the right signature into a get object info handler
@ -31,10 +31,10 @@ func NewGetObjectInfo(ctx *middleware.Context, handler GetObjectInfoHandler) *Ge
return &GetObjectInfo{Context: ctx, Handler: handler}
}
/* GetObjectInfo swagger:route GET /objects/{containerId}/{objectId} getObjectInfo
/*
GetObjectInfo swagger:route GET /objects/{containerId}/{objectId} getObjectInfo
Get object info by address
*/
type GetObjectInfo struct {
Context *middleware.Context

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// GetObjectInfoOKCode is the HTTP code returned for type GetObjectInfoOK
const GetObjectInfoOKCode int = 200
/*GetObjectInfoOK Object info
/*
GetObjectInfoOK Object info
swagger:response getObjectInfoOK
*/
@ -82,7 +83,8 @@ func (o *GetObjectInfoOK) WriteResponse(rw http.ResponseWriter, producer runtime
// GetObjectInfoBadRequestCode is the HTTP code returned for type GetObjectInfoBadRequest
const GetObjectInfoBadRequestCode int = 400
/*GetObjectInfoBadRequest Bad request
/*
GetObjectInfoBadRequest Bad request
swagger:response getObjectInfoBadRequest
*/

View file

@ -29,10 +29,10 @@ func NewListContainers(ctx *middleware.Context, handler ListContainersHandler) *
return &ListContainers{Context: ctx, Handler: handler}
}
/* ListContainers swagger:route GET /containers listContainers
/*
ListContainers swagger:route GET /containers listContainers
Get list of containers
*/
type ListContainers struct {
Context *middleware.Context

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// ListContainersOKCode is the HTTP code returned for type ListContainersOK
const ListContainersOKCode int = 200
/*ListContainersOK Containers info.
/*
ListContainersOK Containers info.
swagger:response listContainersOK
*/
@ -82,7 +83,8 @@ func (o *ListContainersOK) WriteResponse(rw http.ResponseWriter, producer runtim
// ListContainersBadRequestCode is the HTTP code returned for type ListContainersBadRequest
const ListContainersBadRequestCode int = 400
/*ListContainersBadRequest Bad request.
/*
ListContainersBadRequest Bad request.
swagger:response listContainersBadRequest
*/

View file

@ -29,10 +29,10 @@ func NewOptionsAuth(ctx *middleware.Context, handler OptionsAuthHandler) *Option
return &OptionsAuth{Context: ctx, Handler: handler}
}
/* OptionsAuth swagger:route OPTIONS /auth optionsAuth
/*
OptionsAuth swagger:route OPTIONS /auth optionsAuth
OptionsAuth options auth API
*/
type OptionsAuth struct {
Context *middleware.Context

View file

@ -29,10 +29,10 @@ func NewOptionsAuthBearer(ctx *middleware.Context, handler OptionsAuthBearerHand
return &OptionsAuthBearer{Context: ctx, Handler: handler}
}
/* OptionsAuthBearer swagger:route OPTIONS /auth/bearer optionsAuthBearer
/*
OptionsAuthBearer swagger:route OPTIONS /auth/bearer optionsAuthBearer
OptionsAuthBearer options auth bearer API
*/
type OptionsAuthBearer struct {
Context *middleware.Context

View file

@ -14,7 +14,8 @@ import (
// OptionsAuthBearerOKCode is the HTTP code returned for type OptionsAuthBearerOK
const OptionsAuthBearerOKCode int = 200
/*OptionsAuthBearerOK CORS
/*
OptionsAuthBearerOK CORS
swagger:response optionsAuthBearerOK
*/

View file

@ -14,7 +14,8 @@ import (
// OptionsAuthOKCode is the HTTP code returned for type OptionsAuthOK
const OptionsAuthOKCode int = 200
/*OptionsAuthOK CORS
/*
OptionsAuthOK CORS
swagger:response optionsAuthOK
*/

View file

@ -29,10 +29,10 @@ func NewOptionsContainersEACL(ctx *middleware.Context, handler OptionsContainers
return &OptionsContainersEACL{Context: ctx, Handler: handler}
}
/* OptionsContainersEACL swagger:route OPTIONS /containers/{containerId}/eacl optionsContainersEAcl
/*
OptionsContainersEACL swagger:route OPTIONS /containers/{containerId}/eacl optionsContainersEAcl
OptionsContainersEACL options containers e ACL API
*/
type OptionsContainersEACL struct {
Context *middleware.Context

View file

@ -14,7 +14,8 @@ import (
// OptionsContainersEACLOKCode is the HTTP code returned for type OptionsContainersEACLOK
const OptionsContainersEACLOKCode int = 200
/*OptionsContainersEACLOK CORS
/*
OptionsContainersEACLOK CORS
swagger:response optionsContainersEAclOK
*/

View file

@ -29,10 +29,10 @@ func NewOptionsContainersGetDelete(ctx *middleware.Context, handler OptionsConta
return &OptionsContainersGetDelete{Context: ctx, Handler: handler}
}
/* OptionsContainersGetDelete swagger:route OPTIONS /containers/{containerId} optionsContainersGetDelete
/*
OptionsContainersGetDelete swagger:route OPTIONS /containers/{containerId} optionsContainersGetDelete
OptionsContainersGetDelete options containers get delete API
*/
type OptionsContainersGetDelete struct {
Context *middleware.Context

View file

@ -14,7 +14,8 @@ import (
// OptionsContainersGetDeleteOKCode is the HTTP code returned for type OptionsContainersGetDeleteOK
const OptionsContainersGetDeleteOKCode int = 200
/*OptionsContainersGetDeleteOK CORS
/*
OptionsContainersGetDeleteOK CORS
swagger:response optionsContainersGetDeleteOK
*/

View file

@ -29,10 +29,10 @@ func NewOptionsContainersPutList(ctx *middleware.Context, handler OptionsContain
return &OptionsContainersPutList{Context: ctx, Handler: handler}
}
/* OptionsContainersPutList swagger:route OPTIONS /containers optionsContainersPutList
/*
OptionsContainersPutList swagger:route OPTIONS /containers optionsContainersPutList
OptionsContainersPutList options containers put list API
*/
type OptionsContainersPutList struct {
Context *middleware.Context

View file

@ -14,7 +14,8 @@ import (
// OptionsContainersPutListOKCode is the HTTP code returned for type OptionsContainersPutListOK
const OptionsContainersPutListOKCode int = 200
/*OptionsContainersPutListOK CORS
/*
OptionsContainersPutListOK CORS
swagger:response optionsContainersPutListOK
*/

View file

@ -29,10 +29,10 @@ func NewOptionsObjectsGetDelete(ctx *middleware.Context, handler OptionsObjectsG
return &OptionsObjectsGetDelete{Context: ctx, Handler: handler}
}
/* OptionsObjectsGetDelete swagger:route OPTIONS /objects/{containerId}/{objectId} optionsObjectsGetDelete
/*
OptionsObjectsGetDelete swagger:route OPTIONS /objects/{containerId}/{objectId} optionsObjectsGetDelete
OptionsObjectsGetDelete options objects get delete API
*/
type OptionsObjectsGetDelete struct {
Context *middleware.Context

View file

@ -14,7 +14,8 @@ import (
// OptionsObjectsGetDeleteOKCode is the HTTP code returned for type OptionsObjectsGetDeleteOK
const OptionsObjectsGetDeleteOKCode int = 200
/*OptionsObjectsGetDeleteOK CORS
/*
OptionsObjectsGetDeleteOK CORS
swagger:response optionsObjectsGetDeleteOK
*/

View file

@ -29,10 +29,10 @@ func NewOptionsObjectsPut(ctx *middleware.Context, handler OptionsObjectsPutHand
return &OptionsObjectsPut{Context: ctx, Handler: handler}
}
/* OptionsObjectsPut swagger:route OPTIONS /objects optionsObjectsPut
/*
OptionsObjectsPut swagger:route OPTIONS /objects optionsObjectsPut
OptionsObjectsPut options objects put API
*/
type OptionsObjectsPut struct {
Context *middleware.Context

View file

@ -14,7 +14,8 @@ import (
// OptionsObjectsPutOKCode is the HTTP code returned for type OptionsObjectsPutOK
const OptionsObjectsPutOKCode int = 200
/*OptionsObjectsPutOK CORS
/*
OptionsObjectsPutOK CORS
swagger:response optionsObjectsPutOK
*/

View file

@ -29,10 +29,10 @@ func NewOptionsObjectsSearch(ctx *middleware.Context, handler OptionsObjectsSear
return &OptionsObjectsSearch{Context: ctx, Handler: handler}
}
/* OptionsObjectsSearch swagger:route OPTIONS /objects/{containerId}/search optionsObjectsSearch
/*
OptionsObjectsSearch swagger:route OPTIONS /objects/{containerId}/search optionsObjectsSearch
OptionsObjectsSearch options objects search API
*/
type OptionsObjectsSearch struct {
Context *middleware.Context

View file

@ -14,7 +14,8 @@ import (
// OptionsObjectsSearchOKCode is the HTTP code returned for type OptionsObjectsSearchOK
const OptionsObjectsSearchOKCode int = 200
/*OptionsObjectsSearchOK Base64 encoded stable binary marshaled bearer token.
/*
OptionsObjectsSearchOK Base64 encoded stable binary marshaled bearer token.
swagger:response optionsObjectsSearchOK
*/

View file

@ -15,7 +15,7 @@ import (
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// PutContainerHandlerFunc turns a function with the right signature into a put container handler
@ -36,10 +36,10 @@ func NewPutContainer(ctx *middleware.Context, handler PutContainerHandler) *PutC
return &PutContainer{Context: ctx, Handler: handler}
}
/* PutContainer swagger:route PUT /containers putContainer
/*
PutContainer swagger:route PUT /containers putContainer
Create new container in NeoFS
*/
type PutContainer struct {
Context *middleware.Context

View file

@ -10,7 +10,7 @@ import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// PutContainerEACLHandlerFunc turns a function with the right signature into a put container e ACL handler
@ -31,10 +31,10 @@ func NewPutContainerEACL(ctx *middleware.Context, handler PutContainerEACLHandle
return &PutContainerEACL{Context: ctx, Handler: handler}
}
/* PutContainerEACL swagger:route PUT /containers/{containerId}/eacl putContainerEAcl
/*
PutContainerEACL swagger:route PUT /containers/{containerId}/eacl putContainerEAcl
Set container EACL by id
*/
type PutContainerEACL struct {
Context *middleware.Context

View file

@ -17,7 +17,7 @@ import (
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// NewPutContainerEACLParams creates a new PutContainerEACLParams object

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// PutContainerEACLOKCode is the HTTP code returned for type PutContainerEACLOK
const PutContainerEACLOKCode int = 200
/*PutContainerEACLOK Successful EACL updating.
/*
PutContainerEACLOK Successful EACL updating.
swagger:response putContainerEAclOK
*/
@ -82,7 +83,8 @@ func (o *PutContainerEACLOK) WriteResponse(rw http.ResponseWriter, producer runt
// PutContainerEACLBadRequestCode is the HTTP code returned for type PutContainerEACLBadRequest
const PutContainerEACLBadRequestCode int = 400
/*PutContainerEACLBadRequest Bad request.
/*
PutContainerEACLBadRequest Bad request.
swagger:response putContainerEAclBadRequest
*/

View file

@ -17,7 +17,7 @@ import (
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// NewPutContainerParams creates a new PutContainerParams object

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// PutContainerOKCode is the HTTP code returned for type PutContainerOK
const PutContainerOKCode int = 200
/*PutContainerOK Identifier of the created container.
/*
PutContainerOK Identifier of the created container.
swagger:response putContainerOK
*/
@ -82,7 +83,8 @@ func (o *PutContainerOK) WriteResponse(rw http.ResponseWriter, producer runtime.
// PutContainerBadRequestCode is the HTTP code returned for type PutContainerBadRequest
const PutContainerBadRequestCode int = 400
/*PutContainerBadRequest Bad request.
/*
PutContainerBadRequest Bad request.
swagger:response putContainerBadRequest
*/

View file

@ -10,7 +10,7 @@ import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// PutObjectHandlerFunc turns a function with the right signature into a put object handler
@ -31,10 +31,10 @@ func NewPutObject(ctx *middleware.Context, handler PutObjectHandler) *PutObject
return &PutObject{Context: ctx, Handler: handler}
}
/* PutObject swagger:route PUT /objects putObject
/*
PutObject swagger:route PUT /objects putObject
Upload object to NeoFS
*/
type PutObject struct {
Context *middleware.Context

View file

@ -17,7 +17,7 @@ import (
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// NewPutObjectParams creates a new PutObjectParams object

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// PutObjectOKCode is the HTTP code returned for type PutObjectOK
const PutObjectOKCode int = 200
/*PutObjectOK Address of uploaded objects
/*
PutObjectOK Address of uploaded objects
swagger:response putObjectOK
*/
@ -82,7 +83,8 @@ func (o *PutObjectOK) WriteResponse(rw http.ResponseWriter, producer runtime.Pro
// PutObjectBadRequestCode is the HTTP code returned for type PutObjectBadRequest
const PutObjectBadRequestCode int = 400
/*PutObjectBadRequest Bad request
/*
PutObjectBadRequest Bad request
swagger:response putObjectBadRequest
*/

View file

@ -10,7 +10,7 @@ import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// SearchObjectsHandlerFunc turns a function with the right signature into a search objects handler
@ -31,10 +31,10 @@ func NewSearchObjects(ctx *middleware.Context, handler SearchObjectsHandler) *Se
return &SearchObjects{Context: ctx, Handler: handler}
}
/* SearchObjects swagger:route POST /objects/{containerId}/search searchObjects
/*
SearchObjects swagger:route POST /objects/{containerId}/search searchObjects
Search objects by filters
*/
type SearchObjects struct {
Context *middleware.Context

View file

@ -17,7 +17,7 @@ import (
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// NewSearchObjectsParams creates a new SearchObjectsParams object

View file

@ -10,13 +10,14 @@ import (
"github.com/go-openapi/runtime"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
)
// SearchObjectsOKCode is the HTTP code returned for type SearchObjectsOK
const SearchObjectsOKCode int = 200
/*SearchObjectsOK List of objects
/*
SearchObjectsOK List of objects
swagger:response searchObjectsOK
*/
@ -82,7 +83,8 @@ func (o *SearchObjectsOK) WriteResponse(rw http.ResponseWriter, producer runtime
// SearchObjectsBadRequestCode is the HTTP code returned for type SearchObjectsBadRequest
const SearchObjectsBadRequestCode int = 400
/*SearchObjectsBadRequest Bad request
/*
SearchObjectsBadRequest Bad request
swagger:response searchObjectsBadRequest
*/

View file

@ -22,7 +22,7 @@ import (
"github.com/go-openapi/swag"
"golang.org/x/net/netutil"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
)
const (
@ -62,8 +62,8 @@ type ServerConfig struct {
SuccessfulStartCallback func()
}
// NewServer creates a new api neofs rest gw server but does not configure it
func NewServer(api *operations.NeofsRestGwAPI, cfg *ServerConfig) *Server {
// NewServer creates a new api frostfs rest gw server but does not configure it
func NewServer(api *operations.FrostfsRestGwAPI, cfg *ServerConfig) *Server {
s := new(Server)
s.EnabledListeners = cfg.EnabledListeners
s.CleanupTimeout = cfg.CleanupTimeout
@ -93,13 +93,13 @@ func NewServer(api *operations.NeofsRestGwAPI, cfg *ServerConfig) *Server {
}
// ConfigureAPI configures the API and handlers.
func (s *Server) ConfigureAPI(fn func(*operations.NeofsRestGwAPI) http.Handler) {
func (s *Server) ConfigureAPI(fn func(*operations.FrostfsRestGwAPI) http.Handler) {
if s.api != nil {
s.handler = fn(s.api)
}
}
// Server for the neofs rest gw API
// Server for the frostfs rest gw API
type Server struct {
EnabledListeners []string
CleanupTimeout time.Duration
@ -128,7 +128,7 @@ type Server struct {
cfgTLSFn func(tlsConfig *tls.Config)
cfgServerFn func(s *http.Server, scheme, addr string)
api *operations.NeofsRestGwAPI
api *operations.FrostfsRestGwAPI
handler http.Handler
hasListeners bool
shutdown chan struct{}
@ -217,13 +217,13 @@ func (s *Server) Serve() (err error) {
servers = append(servers, httpServer)
wg.Add(1)
s.Logf("Serving neofs rest gw at http://%s", s.httpServerL.Addr())
s.Logf("Serving frostfs rest gw at http://%s", s.httpServerL.Addr())
go func(l net.Listener) {
defer wg.Done()
if err := httpServer.Serve(l); err != nil && err != http.ErrServerClosed {
s.Fatalf("%v", err)
}
s.Logf("Stopped serving neofs rest gw at http://%s", l.Addr())
s.Logf("Stopped serving frostfs rest gw at http://%s", l.Addr())
}(s.httpServerL)
}
@ -314,13 +314,13 @@ func (s *Server) Serve() (err error) {
servers = append(servers, httpsServer)
wg.Add(1)
s.Logf("Serving neofs rest gw at https://%s", s.httpsServerL.Addr())
s.Logf("Serving frostfs rest gw at https://%s", s.httpsServerL.Addr())
go func(l net.Listener) {
defer wg.Done()
if err := httpsServer.Serve(l); err != nil && err != http.ErrServerClosed {
s.Fatalf("%v", err)
}
s.Logf("Stopped serving neofs rest gw at https://%s", l.Addr())
s.Logf("Stopped serving frostfs rest gw at https://%s", l.Addr())
}(tls.NewListener(s.httpsServerL, httpsServer.TLSConfig))
}

24
go.mod
View file

@ -1,8 +1,10 @@
module github.com/nspcc-dev/neofs-rest-gw
module github.com/TrueCloudLab/frostfs-rest-gw
go 1.17
require (
github.com/TrueCloudLab/frostfs-api-go/v2 v2.0.0-20221212144048-1351b6656d68
github.com/TrueCloudLab/frostfs-sdk-go v0.0.0-20221214065929-4c779423f556
github.com/go-openapi/errors v0.20.2
github.com/go-openapi/loads v0.21.1
github.com/go-openapi/runtime v0.23.3
@ -11,13 +13,11 @@ require (
github.com/go-openapi/swag v0.21.1
github.com/go-openapi/validate v0.21.0
github.com/google/uuid v1.3.0
github.com/nspcc-dev/neo-go v0.99.2
github.com/nspcc-dev/neofs-api-go/v2 v2.13.2-0.20221005093543-3a91383f24a9
github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.6.0.20221007102402-8c682641bfd2
github.com/nspcc-dev/neo-go v0.99.4
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.7.0
github.com/stretchr/testify v1.8.0
github.com/testcontainers/testcontainers-go v0.13.0
go.uber.org/zap v1.18.1
go.uber.org/zap v1.23.0
golang.org/x/net v0.0.0-20220403103023-749bd193bc2b
)
@ -27,6 +27,10 @@ require (
github.com/Microsoft/hcsshim v0.8.23 // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
github.com/TrueCloudLab/frostfs-crypto v0.5.0
github.com/TrueCloudLab/hrw v1.1.0 // indirect
github.com/TrueCloudLab/rfc6979 v0.3.0 // indirect
github.com/TrueCloudLab/tzhash v1.7.0 // indirect
github.com/antlr/antlr4/runtime/Go/antlr v1.4.10 // indirect
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
github.com/beorn7/perks v1.0.1 // indirect
@ -61,10 +65,7 @@ require (
github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect
github.com/mr-tron/base58 v1.2.0 // indirect
github.com/nspcc-dev/hrw v1.0.9 // indirect
github.com/nspcc-dev/neofs-crypto v0.4.0
github.com/nspcc-dev/rfc6979 v0.2.0 // indirect
github.com/nspcc-dev/tzhash v1.6.1 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.0.2 // indirect
@ -88,10 +89,9 @@ require (
github.com/urfave/cli v1.22.5 // indirect
go.mongodb.org/mongo-driver v1.8.4 // indirect
go.opencensus.io v0.23.0 // indirect
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
golang.org/x/crypto v0.0.0-20220214200702-86341886e292 // indirect
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
golang.org/x/text v0.3.7 // indirect

51
go.sum
View file

@ -94,6 +94,19 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ=
github.com/TrueCloudLab/frostfs-api-go/v2 v2.0.0-20221212144048-1351b6656d68 h1:mwZr15qCuIcWojIOmH6LILPohbWIkknZe9vhBRapmfQ=
github.com/TrueCloudLab/frostfs-api-go/v2 v2.0.0-20221212144048-1351b6656d68/go.mod h1:u3P6aL/NpAIY5IFRsJhmV+61Q3pJ3BkLENqySkf5zZQ=
github.com/TrueCloudLab/frostfs-contract v0.0.0-20221213081248-6c805c1b4e42/go.mod h1:qmf648elr+FWBZH3hqND8KVrXMnqu/e0z48k+sX8C2s=
github.com/TrueCloudLab/frostfs-crypto v0.5.0 h1:ZoLjixSkQv3j1EwZ1WJzMEJY2NR+9nO4Pd8WSyM/RRI=
github.com/TrueCloudLab/frostfs-crypto v0.5.0/go.mod h1:775MUewpH8AWpXrimAG2NYWOXB6lpKOI5kqgu+eI5zs=
github.com/TrueCloudLab/frostfs-sdk-go v0.0.0-20221214065929-4c779423f556 h1:Cc1jjYxKPfyw7TIJh3Bje7m8DOSn2dx+2zmr0yusWGw=
github.com/TrueCloudLab/frostfs-sdk-go v0.0.0-20221214065929-4c779423f556/go.mod h1:4ZiG4jNLzrqeJbmZUrPI7wDZhQVPaf0zEIWa/eBsqBg=
github.com/TrueCloudLab/hrw v1.1.0 h1:2U69PpUX1UtMWgh/RAg6D8mQW+/WsxbLNE+19EUhLhY=
github.com/TrueCloudLab/hrw v1.1.0/go.mod h1:Pzi8Hy3qx12cew+ajVxgbtDVM4sRG9/gJnJLcL/yRyY=
github.com/TrueCloudLab/rfc6979 v0.3.0 h1:0SYMAfQWh/TjnofqYQHy+s3rmQ5gi0fvOaDbqd60/Ic=
github.com/TrueCloudLab/rfc6979 v0.3.0/go.mod h1:qylxFXFQ/sMvpZC/8JyWp+mfzk5Zj/KDT5FAbekhobc=
github.com/TrueCloudLab/tzhash v1.7.0 h1:btGORepc7Dg+n4MxgJxv73c9eYhwSBI5HqsqUBRmJiw=
github.com/TrueCloudLab/tzhash v1.7.0/go.mod h1:gDQxqjhTqhR58Qfx0gxGtuyGAkixOukwbFGX9O6UGg4=
github.com/Workiva/go-datastructures v1.0.50/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA=
github.com/abiosoft/ishell v2.0.0+incompatible/go.mod h1:HQR9AqF2R3P4XXpMpI0NAzgHf/aS6+zVXRj14cVk9qg=
github.com/abiosoft/ishell/v2 v2.0.2/go.mod h1:E4oTCXfo6QjoCart0QYa5m9w4S+deXs/P/9jA77A9Bs=
@ -735,38 +748,27 @@ github.com/nspcc-dev/dbft v0.0.0-20191209120240-0d6b7568d9ae/go.mod h1:3FjXOoHmA
github.com/nspcc-dev/dbft v0.0.0-20200117124306-478e5cfbf03a/go.mod h1:/YFK+XOxxg0Bfm6P92lY5eDSLYfp06XOdL8KAVgXjVk=
github.com/nspcc-dev/dbft v0.0.0-20200219114139-199d286ed6c1/go.mod h1:O0qtn62prQSqizzoagHmuuKoz8QMkU3SzBoKdEvm3aQ=
github.com/nspcc-dev/dbft v0.0.0-20210721160347-1b03241391ac/go.mod h1:U8MSnEShH+o5hexfWJdze6uMFJteP0ko7J2frO7Yu1Y=
github.com/nspcc-dev/dbft v0.0.0-20220629112714-fd49ca59d354/go.mod h1:U8MSnEShH+o5hexfWJdze6uMFJteP0ko7J2frO7Yu1Y=
github.com/nspcc-dev/dbft v0.0.0-20220902113116-58a5e763e647/go.mod h1:g9xisXmX9NP9MjioaTe862n9SlZTrP+6PVUWLBYOr98=
github.com/nspcc-dev/go-ordered-json v0.0.0-20210915112629-e1b6cce73d02/go.mod h1:79bEUDEviBHJMFV6Iq6in57FEOCMcRhfQnfaf0ETA5U=
github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22 h1:n4ZaFCKt1pQJd7PXoMJabZWK9ejjbLOVrkl/lOUmshg=
github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22/go.mod h1:79bEUDEviBHJMFV6Iq6in57FEOCMcRhfQnfaf0ETA5U=
github.com/nspcc-dev/hrw v1.0.9 h1:17VcAuTtrstmFppBjfRiia4K2wA/ukXZhLFS8Y8rz5Y=
github.com/nspcc-dev/hrw v1.0.9/go.mod h1:l/W2vx83vMQo6aStyx2AuZrJ+07lGv2JQGlVkPG06MU=
github.com/nspcc-dev/neo-go v0.73.1-pre.0.20200303142215-f5a1b928ce09/go.mod h1:pPYwPZ2ks+uMnlRLUyXOpLieaDQSEaf4NM3zHVbRjmg=
github.com/nspcc-dev/neo-go v0.98.0/go.mod h1:E3cc1x6RXSXrJb2nDWXTXjnXk3rIqVN8YdFyWv+FrqM=
github.com/nspcc-dev/neo-go v0.99.1-pre.0.20220714084516-54849ef3e58e/go.mod h1:/y5Sl8p3YheTygriBtCCMWKkDOek8HcvSo5ds2rJtKI=
github.com/nspcc-dev/neo-go v0.99.2 h1:Fq79FI6BJkj/XkgWtrURSdXgXIeBHCgbKauBw3LOvZ4=
github.com/nspcc-dev/neo-go v0.99.2/go.mod h1:9P0yWqhZX7i/ChJ+zjtiStO1uPTolPFUM+L5oNznU8E=
github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20220713145417-4f184498bc42/go.mod h1:QBE0I30F2kOAISNpT5oks82yF4wkkUq3SCfI3Hqgx/Y=
github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20220809123759-3094d3e0c14b/go.mod h1:23bBw0v6pBYcrWs8CBEEDIEDJNbcFoIh8pGGcf2Vv8s=
github.com/nspcc-dev/neo-go v0.99.4 h1:8Y+SdRxksC72a4PNkcGCh/aaQinh9Gu+c5LilbcsXOI=
github.com/nspcc-dev/neo-go v0.99.4/go.mod h1:mKTolfRUfKjFso5HPvGSQtUZc70n0VKBMs16eGuC5gA=
github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20220927123257-24c107e3a262/go.mod h1:23bBw0v6pBYcrWs8CBEEDIEDJNbcFoIh8pGGcf2Vv8s=
github.com/nspcc-dev/neofs-api-go/v2 v2.11.0-pre.0.20211201134523-3604d96f3fe1/go.mod h1:oS8dycEh8PPf2Jjp6+8dlwWyEv2Dy77h/XhhcdxYEFs=
github.com/nspcc-dev/neofs-api-go/v2 v2.11.1/go.mod h1:oS8dycEh8PPf2Jjp6+8dlwWyEv2Dy77h/XhhcdxYEFs=
github.com/nspcc-dev/neofs-api-go/v2 v2.13.2-0.20221005093543-3a91383f24a9 h1:c9ovp4KuPyIBx4dVG4bmkePlmuN0au4BBtFGXALWFBM=
github.com/nspcc-dev/neofs-api-go/v2 v2.13.2-0.20221005093543-3a91383f24a9/go.mod h1:DRIr0Ic1s+6QgdqmNFNLIqMqd7lNMJfYwkczlm1hDtM=
github.com/nspcc-dev/neofs-contract v0.15.3/go.mod h1:BXVZUZUJxrmmDETglXHI8+5DSgn84B9y5DoSWqEjYCs=
github.com/nspcc-dev/neofs-crypto v0.2.0/go.mod h1:F/96fUzPM3wR+UGsPi3faVNmFlA9KAEAUQR7dMxZmNA=
github.com/nspcc-dev/neofs-crypto v0.2.3/go.mod h1:8w16GEJbH6791ktVqHN9YRNH3s9BEEKYxGhlFnp0cDw=
github.com/nspcc-dev/neofs-crypto v0.3.0/go.mod h1:8w16GEJbH6791ktVqHN9YRNH3s9BEEKYxGhlFnp0cDw=
github.com/nspcc-dev/neofs-crypto v0.4.0 h1:5LlrUAM5O0k1+sH/sktBtrgfWtq1pgpDs09fZo+KYi4=
github.com/nspcc-dev/neofs-crypto v0.4.0/go.mod h1:6XJ8kbXgOfevbI2WMruOtI+qUJXNwSGM/E9eClXxPHs=
github.com/nspcc-dev/neofs-sdk-go v0.0.0-20211201182451-a5b61c4f6477/go.mod h1:dfMtQWmBHYpl9Dez23TGtIUKiFvCIxUZq/CkSIhEpz4=
github.com/nspcc-dev/neofs-sdk-go v0.0.0-20220113123743-7f3162110659/go.mod h1:/jay1lr3w7NQd/VDBkEhkJmDmyPNsu4W+QV2obsUV40=
github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.6.0.20221007102402-8c682641bfd2 h1:iOuKuX54KQVFUR3yYPk8IGioD4dtwzoz3IAolavuqKE=
github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.6.0.20221007102402-8c682641bfd2/go.mod h1:RLGptWbksCAODl8bK+2YD9EBpzDJrfJR/eM0lBK87qk=
github.com/nspcc-dev/rfc6979 v0.1.0/go.mod h1:exhIh1PdpDC5vQmyEsGvc4YDM/lyQp/452QxGq/UEso=
github.com/nspcc-dev/rfc6979 v0.2.0 h1:3e1WNxrN60/6N0DW7+UYisLeZJyfqZTNOjeV/toYvOE=
github.com/nspcc-dev/rfc6979 v0.2.0/go.mod h1:exhIh1PdpDC5vQmyEsGvc4YDM/lyQp/452QxGq/UEso=
github.com/nspcc-dev/tzhash v1.6.1 h1:8dUrWFpjkmoHF+7GxuGUmarj9LLHWFcuyF3CTrqq9JE=
github.com/nspcc-dev/tzhash v1.6.1/go.mod h1:BoflzCVp+DO/f1mvbcsJQWoFzidIFBhWFZMglbUW648=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
@ -942,14 +944,17 @@ github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
@ -1028,17 +1033,21 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
go.uber.org/zap v1.18.1 h1:CSUJ2mjFszzEWt4CdKISEuChVIXGBn3lAPwkRGyVrc4=
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY=
go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY=
golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@ -1087,7 +1096,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
@ -1398,7 +1406,6 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View file

@ -7,16 +7,16 @@ import (
"strings"
"time"
sessionv2 "github.com/TrueCloudLab/frostfs-api-go/v2/session"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
"github.com/TrueCloudLab/frostfs-rest-gw/metrics"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/TrueCloudLab/frostfs-sdk-go/user"
"github.com/go-openapi/errors"
"github.com/google/uuid"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
sessionv2 "github.com/nspcc-dev/neofs-api-go/v2/session"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
"github.com/nspcc-dev/neofs-rest-gw/metrics"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"github.com/nspcc-dev/neofs-sdk-go/user"
"go.uber.org/zap"
)
@ -92,7 +92,7 @@ func New(prm *PrmAPI) *API {
}
}
func (a *API) Configure(api *operations.NeofsRestGwAPI) http.Handler {
func (a *API) Configure(api *operations.FrostfsRestGwAPI) http.Handler {
api.ServeError = errors.ServeError
api.UseSwaggerUI()

View file

@ -5,18 +5,18 @@ import (
"encoding/base64"
"fmt"
"github.com/TrueCloudLab/frostfs-api-go/v2/acl"
"github.com/TrueCloudLab/frostfs-api-go/v2/refs"
sessionv2 "github.com/TrueCloudLab/frostfs-api-go/v2/session"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
neofsecdsa "github.com/TrueCloudLab/frostfs-sdk-go/crypto/ecdsa"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/TrueCloudLab/frostfs-sdk-go/user"
"github.com/go-openapi/runtime/middleware"
"github.com/google/uuid"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neofs-api-go/v2/acl"
"github.com/nspcc-dev/neofs-api-go/v2/refs"
sessionv2 "github.com/nspcc-dev/neofs-api-go/v2/session"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
neofsecdsa "github.com/nspcc-dev/neofs-sdk-go/crypto/ecdsa"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"github.com/nspcc-dev/neofs-sdk-go/user"
)
const defaultTokenExpDuration = 100 // in epoch

View file

@ -7,12 +7,12 @@ import (
"math"
"testing"
"github.com/TrueCloudLab/frostfs-api-go/v2/acl"
crypto "github.com/TrueCloudLab/frostfs-crypto"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
"github.com/TrueCloudLab/frostfs-sdk-go/user"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neofs-api-go/v2/acl"
crypto "github.com/nspcc-dev/neofs-crypto"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
"github.com/nspcc-dev/neofs-sdk-go/user"
"github.com/stretchr/testify/require"
)

View file

@ -3,12 +3,12 @@ package handlers
import (
"strconv"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/TrueCloudLab/frostfs-sdk-go/user"
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"github.com/nspcc-dev/neofs-sdk-go/user"
)
// Balance handler that get balance from NeoFS.

View file

@ -3,7 +3,7 @@ package handlers
import (
"testing"
sessionv2 "github.com/nspcc-dev/neofs-api-go/v2/session"
sessionv2 "github.com/TrueCloudLab/frostfs-api-go/v2/session"
"github.com/stretchr/testify/require"
)

View file

@ -9,22 +9,22 @@ import (
"strings"
"time"
containerv2 "github.com/TrueCloudLab/frostfs-api-go/v2/container"
"github.com/TrueCloudLab/frostfs-api-go/v2/refs"
sessionv2 "github.com/TrueCloudLab/frostfs-api-go/v2/session"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
"github.com/TrueCloudLab/frostfs-sdk-go/container"
"github.com/TrueCloudLab/frostfs-sdk-go/container/acl"
cid "github.com/TrueCloudLab/frostfs-sdk-go/container/id"
"github.com/TrueCloudLab/frostfs-sdk-go/netmap"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/TrueCloudLab/frostfs-sdk-go/session"
"github.com/TrueCloudLab/frostfs-sdk-go/user"
"github.com/TrueCloudLab/frostfs-sdk-go/version"
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
containerv2 "github.com/nspcc-dev/neofs-api-go/v2/container"
"github.com/nspcc-dev/neofs-api-go/v2/refs"
sessionv2 "github.com/nspcc-dev/neofs-api-go/v2/session"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
"github.com/nspcc-dev/neofs-sdk-go/container"
"github.com/nspcc-dev/neofs-sdk-go/container/acl"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"github.com/nspcc-dev/neofs-sdk-go/session"
"github.com/nspcc-dev/neofs-sdk-go/user"
"github.com/nspcc-dev/neofs-sdk-go/version"
"go.uber.org/zap"
)

View file

@ -9,18 +9,18 @@ import (
"io"
"strings"
"github.com/TrueCloudLab/frostfs-api-go/v2/acl"
"github.com/TrueCloudLab/frostfs-api-go/v2/refs"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
"github.com/TrueCloudLab/frostfs-sdk-go/bearer"
cid "github.com/TrueCloudLab/frostfs-sdk-go/container/id"
"github.com/TrueCloudLab/frostfs-sdk-go/object"
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neofs-api-go/v2/acl"
"github.com/nspcc-dev/neofs-api-go/v2/refs"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
"github.com/nspcc-dev/neofs-sdk-go/bearer"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
oid "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"go.uber.org/zap"
)

View file

@ -3,8 +3,8 @@ package handlers
import (
"testing"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
"github.com/nspcc-dev/neofs-rest-gw/internal/util"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/TrueCloudLab/frostfs-rest-gw/internal/util"
"github.com/stretchr/testify/require"
)

View file

@ -1,8 +1,8 @@
package handlers
import (
"github.com/TrueCloudLab/frostfs-rest-gw/gen/restapi/operations"
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
)
const (

View file

@ -9,12 +9,12 @@ import (
"strings"
"time"
objectv2 "github.com/nspcc-dev/neofs-api-go/v2/object"
sessionv2 "github.com/nspcc-dev/neofs-api-go/v2/session"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-sdk-go/container/acl"
"github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/pool"
objectv2 "github.com/TrueCloudLab/frostfs-api-go/v2/object"
sessionv2 "github.com/TrueCloudLab/frostfs-api-go/v2/session"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-sdk-go/container/acl"
"github.com/TrueCloudLab/frostfs-sdk-go/object"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
)
// PrmAttributes groups parameters to form attributes from request headers.

View file

@ -6,7 +6,7 @@ import (
"testing"
"time"
objectv2 "github.com/nspcc-dev/neofs-api-go/v2/object"
objectv2 "github.com/TrueCloudLab/frostfs-api-go/v2/object"
"github.com/stretchr/testify/require"
)

View file

@ -5,13 +5,13 @@ import (
"errors"
"fmt"
"github.com/nspcc-dev/neofs-rest-gw/gen/models"
"github.com/nspcc-dev/neofs-sdk-go/bearer"
apistatus "github.com/nspcc-dev/neofs-sdk-go/client/status"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/eacl"
"github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/session"
"github.com/TrueCloudLab/frostfs-rest-gw/gen/models"
"github.com/TrueCloudLab/frostfs-sdk-go/bearer"
apistatus "github.com/TrueCloudLab/frostfs-sdk-go/client/status"
cid "github.com/TrueCloudLab/frostfs-sdk-go/container/id"
"github.com/TrueCloudLab/frostfs-sdk-go/eacl"
"github.com/TrueCloudLab/frostfs-sdk-go/object"
"github.com/TrueCloudLab/frostfs-sdk-go/session"
)
// ToNativeAction converts models.Action to appropriate eacl.Action.

View file

@ -6,7 +6,7 @@ import (
"fmt"
"testing"
apistatus "github.com/nspcc-dev/neofs-sdk-go/client/status"
apistatus "github.com/TrueCloudLab/frostfs-sdk-go/client/status"
"github.com/stretchr/testify/require"
)

View file

@ -3,7 +3,7 @@ package metrics
import (
"net/http"
"github.com/nspcc-dev/neofs-sdk-go/pool"
"github.com/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"go.uber.org/zap"