// package http_api -- различные API для работы веб-морды. package http_api import ( "fmt" "github.com/gofiber/fiber/v3" mL0 "gitp78su.ipnodns.ru/svi/kern/v4/lev0" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/voc" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kctx" ) // HttpApi -- различные API для работы веб-морды. type HttpApi struct{} // NewHttpApi -- возвращает новое HttpApi. func NewHttpApi() mL0.IResult[*HttpApi] { sf := &HttpApi{} kCtx := kctx.GetKernelCtx() optFiber := kCtx.Get("fiberApp") if optFiber.IsNone() { err := fmt.Errorf("NewHttpApi(): not found fiberApp in kernel ctx") return mL0.NewErr[*HttpApi](err) } fiberApp := optFiber.Some().Val().(*fiber.App) fiberApp.Post("/api_time", sf.postTime) return mL0.NewRes(sf) } // Возвращает текущее время сервера. func (sf *HttpApi) postTime(ctx fiber.Ctx) error { aTime := voc.NewETime(voc.VTimeOptDefault()) return ctx.SendString(aTime.String()) }