frostfs-rest-gw/handlers/preflight.go
Denis Kirillov d18312ecde [#39] Add CORS
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-10 21:41:26 +03:00

59 lines
2.2 KiB
Go

package handlers
import (
"github.com/go-openapi/runtime/middleware"
"github.com/nspcc-dev/neofs-rest-gw/gen/restapi/operations"
)
const (
allOrigins = "*"
allowMethods = "PUT, DELETE"
allowHeaders = "X-Bearer-Owner-Id, X-Bearer-Signature, X-Bearer-Signature-Key, Content-Type, Authorization"
)
func (a *API) OptionsAuth(operations.OptionsAuthParams) middleware.Responder {
return operations.NewOptionsAuthOK().
WithAccessControlAllowOrigin(allOrigins).
WithAccessControlAllowHeaders(allowHeaders)
}
func (a *API) OptionsObjectSearch(operations.OptionsObjectsSearchParams) middleware.Responder {
return operations.NewOptionsObjectsSearchOK().
WithAccessControlAllowOrigin(allOrigins).
WithAccessControlAllowHeaders(allowHeaders)
}
func (a *API) OptionsObjectsPut(operations.OptionsObjectsPutParams) middleware.Responder {
return operations.NewOptionsObjectsPutOK().
WithAccessControlAllowOrigin(allOrigins).
WithAccessControlAllowHeaders(allowHeaders).
WithAccessControlAllowMethods(allowMethods)
}
func (a *API) OptionsObjectsGetDelete(operations.OptionsObjectsGetDeleteParams) middleware.Responder {
return operations.NewOptionsObjectsGetDeleteOK().
WithAccessControlAllowOrigin(allOrigins).
WithAccessControlAllowHeaders(allowHeaders).
WithAccessControlAllowMethods(allowMethods)
}
func (a *API) OptionsContainersPutList(operations.OptionsContainersPutListParams) middleware.Responder {
return operations.NewOptionsContainersPutListOK().
WithAccessControlAllowOrigin(allOrigins).
WithAccessControlAllowHeaders(allowHeaders).
WithAccessControlAllowMethods(allowMethods)
}
func (a *API) OptionsContainersGetDelete(operations.OptionsContainersGetDeleteParams) middleware.Responder {
return operations.NewOptionsContainersGetDeleteOK().
WithAccessControlAllowOrigin(allOrigins).
WithAccessControlAllowHeaders(allowHeaders).
WithAccessControlAllowMethods(allowMethods)
}
func (a *API) OptionsContainersEACL(operations.OptionsContainersEACLParams) middleware.Responder {
return operations.NewOptionsContainersEACLOK().
WithAccessControlAllowOrigin(allOrigins).
WithAccessControlAllowHeaders(allowHeaders).
WithAccessControlAllowMethods(allowMethods)
}