codename-sendaround/cmd/sendaroundd/main.go

40 lines
636 B
Go

package main
import (
"log"
"net/http"
"os"
"os/signal"
"syscall"
"github.com/gin-gonic/gin"
"github.com/icedream/sendaround/internal/handshake_server"
)
func main() {
r := gin.Default()
signalAPIGroup := r.Group("/")
handshake_server.NewSignalAPI(signalAPIGroup)
shutdownChan := make(chan interface{}, 1)
s := new(http.Server)
s.Addr = ":8080"
s.Handler = r
go func() {
err := s.ListenAndServe()
if err != nil {
log.Fatal(err)
}
}()
signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, os.Interrupt, syscall.SIGTERM)
go func() {
<-signalChan
shutdownChan <- nil
}()
<-shutdownChan
}