featurer/server/internal/services/core/http.go

38 lines
1.7 KiB
Go
Raw Normal View History

package core
import (
"errors"
"github.com/gin-gonic/gin"
)
const (
// ServerNameAPI is a HTTP server name for API.
ServerNameAPI = "api"
// ServerNameCMS is a HTTP server name for CMS.
ServerNameCMS = "cms"
// ServiceNameHTTP is a name for service responsible for HTTP servers controlloing.
ServiceNameHTTP = "http servers"
)
var (
// ErrHTTP указывает на ошибку в сервисе управления HTTP серверами.
ErrHTTP = errors.New("HTTP server")
// ErrHTTPAssetsBundleAlreadyRegistered говорит о попытке зарегистрировать бандл с ассетами с уже использованным
// именем.
ErrHTTPAssetsBundleAlreadyRegistered = errors.New("assets bundle already registered")
// ErrHTTPCMSAddressInvalid говорит о неправильно заданном адресе для прослушки, который был получен из
// переменных окружения.
ErrHTTPCMSAddressInvalid = errors.New("CMS server address invalid")
// ErrHTTPServerNotFound возникает при попытке получить неизвестный HTTP сервер.
ErrHTTPServerNotFound = errors.New("HTTP server not found")
// ErrHTTPServiceIsInvalid говорит о неправильной имплементации сервиса управления HTTP серверами.
ErrHTTPServiceIsInvalid = errors.New("service implementation is invalid")
)
// HTTP это интерфейс для сервиса управления HTTP серверами.
type HTTP interface {
RegisterHandler(serverName, method, path string, handler func(*gin.Context)) error
ReplyJSON(ctx *gin.Context, statusCode int, data interface{})
}