123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package mhayaGin
- import (
- "github.com/gin-gonic/gin"
- cfacade "github.com/mhaya/facade"
- clog "github.com/mhaya/logger"
- )
- const (
- NamePrefix = "gin_component_"
- )
- type (
- // Component wrapper gin
- Component struct {
- cfacade.Component
- *HttpServer
- name string
- }
- )
- func NewHttp(name, address string) *Component {
- return New(name, address)
- }
- func NewHttps(name, address, certFile, keyFile string) *Component {
- return New(
- name,
- address,
- WithCert(certFile, keyFile),
- )
- }
- func New(name string, address string, opts ...OptionFunc) *Component {
- return &Component{
- name: name,
- HttpServer: NewHttpServer(address, opts...),
- }
- }
- // Name unique components name
- func (g *Component) Name() string {
- return NamePrefix + g.name
- }
- func (g *Component) Init() {
- }
- func (g *Component) OnAfterInit() {
- g.SetIApplication(g.App())
- go g.Run()
- }
- func (g *Component) OnBeforeStop() {
- }
- func (g *Component) OnStop() {
- g.Stop()
- clog.Infof("[component = %s] has been shut down", g.Name())
- }
- func (g *Component) Register(controllers ...IController) *Component {
- g.HttpServer.Register(controllers...)
- return g
- }
- func (g *Component) Engine() *gin.Engine {
- return g.HttpServer.Engine
- }
|