first commit of files
This commit is contained in:
48
server/server.go
Normal file
48
server/server.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"artNet/cert"
|
||||
"artNet/driver"
|
||||
serverModels "artNet/server/models"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/tecamino/tecamino-logger/logging"
|
||||
)
|
||||
|
||||
type Server struct {
|
||||
engine *gin.Engine
|
||||
sync.RWMutex
|
||||
Subscribers serverModels.Subscribers
|
||||
Logger *logging.Logger
|
||||
Driver *driver.ArtNetDriver
|
||||
}
|
||||
|
||||
func NewServer() *Server {
|
||||
s := Server{
|
||||
engine: gin.Default(),
|
||||
Subscribers: serverModels.InitSubsrcibers(),
|
||||
}
|
||||
s.AddRoutes()
|
||||
|
||||
s.Driver = driver.NewDriver()
|
||||
|
||||
return &s
|
||||
}
|
||||
|
||||
func (s *Server) ServeHttp(port uint) error {
|
||||
if err := s.engine.Run(fmt.Sprintf(":%d", port)); err != nil {
|
||||
return fmt.Errorf("failed to run http server: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Server) ServeHttps(port uint, cert cert.Cert) error {
|
||||
cert.GenerateSelfSignedCert()
|
||||
if err := s.engine.RunTLS(fmt.Sprintf(":%d", port), cert.CertFile, cert.KeyFile); err != nil {
|
||||
return fmt.Errorf("failed to run https server: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user