added multiple listener, socket and tcp
This commit is contained in:
22
main.go
22
main.go
@@ -10,12 +10,14 @@ import (
|
||||
"csgowtfd/ent/stats"
|
||||
"csgowtfd/utils"
|
||||
"flag"
|
||||
"fmt"
|
||||
"github.com/gorilla/handlers"
|
||||
"github.com/gorilla/mux"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
log "github.com/sirupsen/logrus"
|
||||
"go.uber.org/ratelimit"
|
||||
"gopkg.in/yaml.v3"
|
||||
"net"
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -397,11 +399,29 @@ func main() {
|
||||
go utils.GCInfoParser(sendGC, demoLoader, demoParser, db, conf.Steam.APIKey, rL)
|
||||
go housekeeping()
|
||||
|
||||
// Define routes
|
||||
router = mux.NewRouter().StrictSlash(true)
|
||||
router.HandleFunc("/player/{id}", getPlayer).Methods("GET")
|
||||
router.HandleFunc("/player/trackme", postPlayerTrackMe).Methods("POST")
|
||||
router.HandleFunc("/match/parse/{sharecode}", getMatchParse).Methods("GET")
|
||||
router.HandleFunc("/match/{id:[0-9]{19}}", getMatch).Methods("GET")
|
||||
loggedRouter := handlers.LoggingHandler(os.Stdout, router)
|
||||
utils.Check(http.ListenAndServe(":8000", loggedRouter))
|
||||
|
||||
for _, l := range conf.Httpd.Listen {
|
||||
if l.Socket != "" {
|
||||
sL, err := net.Listen("unix", l.Socket)
|
||||
if err != nil {
|
||||
log.Fatalf("Failure listing on socket %s: %v", l.Socket, err)
|
||||
}
|
||||
err = http.Serve(sL, loggedRouter)
|
||||
if err != nil {
|
||||
log.Fatalf("Failure serving on socket %s: %v", l.Socket, err)
|
||||
}
|
||||
} else {
|
||||
err = http.ListenAndServe(fmt.Sprintf("%s:%d", l.Host, l.Port), loggedRouter)
|
||||
if err != nil {
|
||||
log.Fatalf("Failure listing on %s:%d: %v", l.Host, l.Port, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user