36 lines
536 B
Go
36 lines
536 B
Go
package api
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
"github.com/go-chi/chi/v5/middleware"
|
|
)
|
|
|
|
type (
|
|
Server struct {
|
|
handler http.Handler
|
|
services *Services
|
|
}
|
|
|
|
Services struct {
|
|
}
|
|
)
|
|
|
|
func New(services *Services) *Server {
|
|
r := chi.NewRouter()
|
|
r.Use(middleware.RequestID)
|
|
r.Use(middleware.Logger)
|
|
r.Use(middleware.Recoverer)
|
|
|
|
return &Server{
|
|
handler: r,
|
|
services: services,
|
|
}
|
|
}
|
|
|
|
func (s *Server) ListenAndServe(port uint16) error {
|
|
return http.ListenAndServe(fmt.Sprintf(":%d", port), s.handler)
|
|
}
|