feat: add gofiber

add gofiber
add ListBuckets,PutBucket,DeleteBucket,ListObjects,ListObjectsV2,DeleteObject,DeleteObjects,CopyObject actions
This commit is contained in:
jonaustin09
2023-05-11 04:11:21 +04:00
parent 53719d02de
commit f2575c570f
8 changed files with 267 additions and 12 deletions
+26 -8
View File
@@ -1,19 +1,37 @@
package s3api
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/logger"
"github.com/versity/scoutgw/backend"
)
type S3ApiServer struct {
be backend.Backend
port int
app *fiber.App
backend backend.Backend
router *S3ApiRouter
port string
}
func New(be backend.Backend, port int) (s3ApiServer *S3ApiServer, err error) {
s3ApiServer = &S3ApiServer{
be: be,
port: port,
}
func New(app *fiber.App, be backend.Backend, port string) (s3ApiServer *S3ApiServer, err error) {
s3ApiServer = &S3ApiServer{app, be, new(S3ApiRouter), port}
return s3ApiServer, nil
app.Use(logger.New())
s3ApiServer.router.Init(app, be)
//app.All("/*", func(ctx *fiber.Ctx) error {
//
// fmt.Println(ctx.Method())
// listBucket := new(s3response.ListBucket)
// if b, err := xml.Marshal(listBucket); err != nil {
// return err
// } else {
// return ctx.Send(b)
// }
//})
return
}
func (sa *S3ApiServer) Serve() (err error) {
return sa.app.Listen(sa.port)
}