forked from apps/featurer
38 lines
1.7 KiB
Go
38 lines
1.7 KiB
Go
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{})
|
||
}
|