|
@@ -30,9 +30,9 @@ func NewServHttp(serv types.IService) (*ServHttp, error) {
|
|
if serv == nil {
|
|
if serv == nil {
|
|
return nil, fmt.Errorf("NewServHttp(): IService==nil")
|
|
return nil, fmt.Errorf("NewServHttp(): IService==nil")
|
|
}
|
|
}
|
|
- port := os.Getenv("STORE_HTTP_PORT")
|
|
|
|
|
|
+ port := os.Getenv("HTTP_PORT")
|
|
if port == "" {
|
|
if port == "" {
|
|
- return nil, fmt.Errorf("NewServHttp(): env STORE_HTTP_PORT not set")
|
|
|
|
|
|
+ return nil, fmt.Errorf("NewServHttp(): env HTTP_PORT not set")
|
|
}
|
|
}
|
|
engineTmpl := html.New("./static/tmpl", ".tmpl.html")
|
|
engineTmpl := html.New("./static/tmpl", ".tmpl.html")
|
|
appConf := fiber.Config{
|
|
appConf := fiber.Config{
|
|
@@ -123,11 +123,6 @@ func NewServHttp(serv types.IService) (*ServHttp, error) {
|
|
return nil, err
|
|
return nil, err
|
|
}
|
|
}
|
|
sf.fiberApp.Get("/", sf.get)
|
|
sf.fiberApp.Get("/", sf.get)
|
|
- sf.fiberApp.Post("/put/:login/:pass/:key", sf.postLogin, sf.postPut)
|
|
|
|
- sf.fiberApp.Post("/get/:login/:pass/:key", sf.postLogin, sf.postGet)
|
|
|
|
- sf.fiberApp.Post("/del/:login/:pass/:key", sf.postLogin, sf.postDel)
|
|
|
|
- sf.fiberApp.Post("/find/:login/:pass/:key", sf.postLogin, sf.postFind)
|
|
|
|
-
|
|
|
|
return sf, nil
|
|
return sf, nil
|
|
}
|
|
}
|
|
|
|
|
|
@@ -146,59 +141,6 @@ func (sf *ServHttp) FiberApp() *fiber.App {
|
|
return sf.fiberApp
|
|
return sf.fiberApp
|
|
}
|
|
}
|
|
|
|
|
|
-type ListValRequest struct {
|
|
|
|
- Val_ []string `json:"val" form:"val"`
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// postFind -- возвращает список ключей по префиксу
|
|
|
|
-func (sf *ServHttp) postFind(ctx *fiber.Ctx) error {
|
|
|
|
- key := ctx.Params("key")
|
|
|
|
- lstKey, err := sf.store.Find(key)
|
|
|
|
- if err != nil {
|
|
|
|
- return fiber.NewError(40, "ServHttp.postFind(): in get keys by prefix from db")
|
|
|
|
- }
|
|
|
|
- return ctx.JSON(&ListValRequest{
|
|
|
|
- Val_: lstKey,
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-type ValRequest struct {
|
|
|
|
- Val_ []byte `json:"val" form:"val"`
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// postDel -- удаляет содержимое ключа
|
|
|
|
-func (sf *ServHttp) postDel(ctx *fiber.Ctx) error {
|
|
|
|
- key := ctx.Params("key")
|
|
|
|
- sf.store.Del(key)
|
|
|
|
- return nil
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// postGet -- возвращает содержимое ключа
|
|
|
|
-func (sf *ServHttp) postGet(ctx *fiber.Ctx) error {
|
|
|
|
- key := ctx.Params("key")
|
|
|
|
- val, err := sf.store.Get(key)
|
|
|
|
- if err != nil {
|
|
|
|
- return fiber.NewError(30, "ServHttp.postGet(): in get val from db")
|
|
|
|
- }
|
|
|
|
- return ctx.JSON(&ValRequest{
|
|
|
|
- Val_: val,
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// postPut -- сохраняет содержимое ключа
|
|
|
|
-func (sf *ServHttp) postPut(ctx *fiber.Ctx) error {
|
|
|
|
- key := ctx.Params("key")
|
|
|
|
- req := &ValRequest{}
|
|
|
|
- if err := ctx.BodyParser(req); err != nil {
|
|
|
|
- return fiber.NewError(20, "ServHttp.postPut(): bad FORM")
|
|
|
|
- }
|
|
|
|
- err := sf.store.Put(key, req.Val_)
|
|
|
|
- if err != nil {
|
|
|
|
- return fiber.NewError(21, "ServHttp.postPut(): in put val on db")
|
|
|
|
- }
|
|
|
|
- return nil
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// Run -- запускает веб-сервер в работу
|
|
// Run -- запускает веб-сервер в работу
|
|
func (sf *ServHttp) Run() error {
|
|
func (sf *ServHttp) Run() error {
|
|
defer sf.serv.CancelApp()
|
|
defer sf.serv.CancelApp()
|
|
@@ -208,20 +150,3 @@ func (sf *ServHttp) Run() error {
|
|
}
|
|
}
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
-
|
|
|
|
-// Проверяет логин/пароль в запросе
|
|
|
|
-func (sf *ServHttp) postLogin(ctx *fiber.Ctx) error {
|
|
|
|
- // login := ctx.Params("login")
|
|
|
|
- // if login != sf.login {
|
|
|
|
- // return fiber.NewError(1, "ServHttp.postLogin(): bad login/pass")
|
|
|
|
- // }
|
|
|
|
- // pass := ctx.Params("pass")
|
|
|
|
- // if pass != sf.pass {
|
|
|
|
- // return fiber.NewError(2, "ServHttp.postLogin(): bad login/pass")
|
|
|
|
- // }
|
|
|
|
- key := ctx.Params("key")
|
|
|
|
- if key == "" {
|
|
|
|
- return fiber.NewError(3, "ServHttp.postLogin(): key is empty")
|
|
|
|
- }
|
|
|
|
- return ctx.Next()
|
|
|
|
-}
|
|
|