package main import ( "net/http" lua "github.com/yuin/gopher-lua" ) func start_server(address string, port string, L *lua.LState) *http.Server { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { path := r.URL.Path logger.Debug("Request received: ", path) if _, ok := routes[path]; !ok { w.WriteHeader(http.StatusNotFound) return } response := responses[path] logger.Trace("API Response: ", response) w.Write([]byte(response)) }) listening := address + ":" + port server := &http.Server{ Addr: listening, Handler: nil, } go func() { // TODO: Add an error message for this if err := server.ListenAndServe(); err != http.ErrServerClosed { logger.Fatalf("Server Error: %v", err) } }() logger.Info("Listening on ", listening) return server }