46 lines
1.0 KiB
Go
46 lines
1.0 KiB
Go
package http
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"gitlink.org.cn/cloudream/common/pkgs/logger"
|
|
"gitlink.org.cn/cloudream/scheduler/client/internal/services"
|
|
)
|
|
|
|
type Server struct {
|
|
engine *gin.Engine
|
|
listenAddr string
|
|
svc *services.Service
|
|
}
|
|
|
|
func NewServer(listenAddr string, svc *services.Service) (*Server, error) {
|
|
engine := gin.New()
|
|
|
|
return &Server{
|
|
engine: engine,
|
|
listenAddr: listenAddr,
|
|
svc: svc,
|
|
}, nil
|
|
}
|
|
|
|
func (s *Server) Serve() error {
|
|
s.initRouters()
|
|
|
|
logger.Infof("start serving http at: %s", s.listenAddr)
|
|
err := s.engine.Run(s.listenAddr)
|
|
|
|
if err != nil {
|
|
logger.Infof("http stopped with error: %s", err.Error())
|
|
return err
|
|
}
|
|
|
|
logger.Infof("http stopped")
|
|
return nil
|
|
}
|
|
|
|
func (s *Server) initRouters() {
|
|
s.engine.POST("/jobSet/submit", s.JobSetSvc().Submit)
|
|
s.engine.POST("/job/CreateInstance", s.JobSvc().CreateInstance)
|
|
s.engine.POST("/jobSet/localFileUploaded", s.JobSetSvc().LocalFileUploaded)
|
|
s.engine.GET("/jobSet/getServiceList", s.JobSetSvc().GetServiceList)
|
|
}
|