You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
43 lines
1.3 KiB
package main
|
|
|
|
import (
|
|
"embed"
|
|
"flag"
|
|
"net/http"
|
|
|
|
"codefirst.iut.uca.fr/git/thomas.bellembois/codefirst-dockerrunner/v2/globals"
|
|
"codefirst.iut.uca.fr/git/thomas.bellembois/codefirst-dockerrunner/v2/handlers"
|
|
"github.com/gorilla/mux"
|
|
)
|
|
|
|
var (
|
|
//go:embed wasm/*
|
|
embedWasmBox embed.FS
|
|
//go:embed static/*
|
|
embedStaticBox embed.FS
|
|
)
|
|
|
|
func init() {
|
|
flag.StringVar(&globals.Scheme, "scheme", "http", "application scheme")
|
|
flag.StringVar(&globals.HostName, "hostname", "localhost:8081", "full hostname (ie. codefirst.uca.fr)")
|
|
flag.StringVar(&globals.DockerNetworkName, "dockernetworkname", "cicd_net", "docker network name for running containers")
|
|
flag.StringVar(&globals.DockerPathPrefix, "dockerpathprefix", "containers", "common path prefix for running containers")
|
|
flag.IntVar(&globals.MaxAllowedContainers, "maxallowedcontainers", 1, "maximum allowed running containers per user")
|
|
flag.BoolVar(&globals.Test, "test", false, "developper flag")
|
|
|
|
flag.Parse()
|
|
}
|
|
|
|
func main() {
|
|
router := mux.NewRouter()
|
|
|
|
http.Handle("/wasm/", http.FileServer(http.FS(embedWasmBox)))
|
|
http.Handle("/static/", http.FileServer(http.FS(embedStaticBox)))
|
|
http.HandleFunc("/ws/", handlers.WebSockerHandler)
|
|
http.Handle("/", router)
|
|
|
|
if err := http.ListenAndServe(":8081", nil); err != nil {
|
|
panic("error running the server:" + err.Error())
|
|
}
|
|
}
|