| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // package router_anonym -- реализация HTTP-роутера с анонимным хранилищем
- package router_anonym
- import (
- "fmt"
- "time"
- "git.p78su.freemyip.com/svi/gostore/internal/serv_http/router_anonym/anonym_put"
- "git.p78su.freemyip.com/svi/gostore/internal/serv_http/router_anonym/anonym_read"
- "git.p78su.freemyip.com/svi/gostore/pkg/types"
- "github.com/gofiber/fiber/v2"
- )
- // RouterAnonym -- реализация HTTP-роутера с анонимным хранилищем
- type RouterAnonym struct {
- *anonym_put.AnonymPut
- *anonym_read.AnonymRead
- serv types.IService
- servHttp types.IServHttp
- router fiber.Router
- }
- // NewRouterAnonym -- возвращает новый HTTP-роутер с анонимным хранилищем
- func NewRouterAnonym(servHttp types.IServHttp) (*RouterAnonym, error) {
- if servHttp == nil {
- return nil, fmt.Errorf("NewRouterAnonym(): IServHttp==nil")
- }
- serv := servHttp.Service()
- sf := &RouterAnonym{
- serv: serv,
- servHttp: servHttp,
- router: servHttp.FiberApp().Group("/anonym"),
- }
- sf.router.Get("/", sf.get)
- var err error
- sf.AnonymPut, err = anonym_put.NewAnonymPut(servHttp, sf.router)
- if err != nil {
- return nil, fmt.Errorf("NewRouterAnonym(): in create AnonymPut, err=\n\t%w", err)
- }
- sf.AnonymRead, err = anonym_read.NewAnonymRead(servHttp, sf.router)
- if err != nil {
- return nil, fmt.Errorf("NewRouterAnonym(): in create AnonymRead, err=\n\t%w", err)
- }
- sf.router.Post("/del", sf.del)
- sf.router.Post("/find", sf.find)
- sf.router.Post("/time", sf.postTime)
- sf.router.Get("/time", sf.getTime)
- return sf, nil
- }
- // Возвращает страницу анонимнго раздела
- func (sf *RouterAnonym) get(c *fiber.Ctx) error {
- return c.Render("anonym_put", fiber.Map{})
- }
- // Удаляет значение из анонимного хранилища
- func (sf *RouterAnonym) del(c *fiber.Ctx) error {
- return nil
- }
- // Находит значение в анонимном хранилище
- func (sf *RouterAnonym) find(c *fiber.Ctx) error {
- return nil
- }
- // Возвращает страницу отображения времени по запросу
- func (sf *RouterAnonym) getTime(c *fiber.Ctx) error {
- return c.Render("time", fiber.Map{})
- }
- // Возвращает время по запросу
- func (sf *RouterAnonym) postTime(ctx *fiber.Ctx) error {
- ctx.Response().Header.Add("Cache-Control", "no-cache") // Cache-Control: no-cache
- return ctx.SendString(time.Now().Local().Format("2006-01-02 15:04:05.000 MST -07"))
- }
|