Files
janus/server/server.go

48 lines
1.2 KiB
Go
Raw Normal View History

2021-03-25 13:24:08 +05:30
package server
import (
"net"
"net/http"
"sync"
"github.com/pkg/errors"
"github.com/gorilla/mux"
2021-03-25 13:24:08 +05:30
)
type Server struct {
HttpServer *http.Server
Listener net.Listener
wg sync.WaitGroup
}
var (
networkTCP = "tcp"
)
func NewServer(port string) (*Server, error) {
network := networkTCP
listener, err := net.Listen(network, ":" + port)
if err != nil {
return nil, errors.Wrap(err, "failed to create listener")
}
router := mux.NewRouter()
router.HandleFunc("/events", eventsHandler).Methods("POST")
2021-04-27 16:40:13 +05:30
router.HandleFunc("/events/json", eventsHandlerJson).Methods("POST")
2021-03-31 10:14:54 +05:30
router.HandleFunc("/health", healthHandler).Methods("GET")
router.HandleFunc("/health/toggle", healthToggleHandler).Methods("GET")
2021-05-06 16:18:54 +05:30
router.HandleFunc("/schema/get", getSchemaHandler).Methods("GET")
2021-05-07 20:35:35 +05:30
router.HandleFunc("/schema/refresh", refreshSchemaHandler).Methods("POST")
2021-05-12 15:26:13 +05:30
router.HandleFunc("/schema/add", addSchemaHandler).Methods("POST")
2021-04-27 16:40:13 +05:30
// router.HandleFunc("/test", testHandler).Methods("GET")
2021-04-01 12:56:04 +05:30
// router.HandleFunc("/stop", stopHandler).Methods("POST")
httpServer := &http.Server{Addr: ":" + port, Handler: router}
2021-03-25 13:24:08 +05:30
newServer := &Server{HttpServer: httpServer, Listener: listener}
return newServer, nil
}