29 lines
588 B
Go
29 lines
588 B
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/go-chi/chi/v5"
|
|
"github.com/sirupsen/logrus"
|
|
"launchpad/message"
|
|
"net/http"
|
|
)
|
|
|
|
type Server struct {
|
|
Router *chi.Mux
|
|
Port int
|
|
}
|
|
|
|
func NewServer(port int) *Server {
|
|
router := chi.NewRouter()
|
|
setupMiddlewares(router)
|
|
setupRouter(router)
|
|
return &Server{router, port}
|
|
}
|
|
|
|
func (server *Server) Listen() {
|
|
logrus.WithField("port", server.Port).Info("application running")
|
|
err := http.ListenAndServe(fmt.Sprintf(":%d", server.Port), server.Router)
|
|
if err != nil {
|
|
logrus.WithField("error", err).Fatal(message.CannotStart.String())
|
|
}
|
|
}
|