dumb/main.go

55 lines
878 B
Go
Raw Normal View History

2022-06-30 20:32:56 +00:00
package main
import (
"fmt"
"log"
"net"
"net/http"
"os"
"strconv"
"time"
"github.com/gorilla/mux"
)
func fatal(err any) {
log.Fatalf("[ERR] %s\n", err)
}
func info(s string) {
log.Printf("[INFO] %s\n", s)
}
func write(w http.ResponseWriter, status int, data []byte) {
w.WriteHeader(status)
w.Write(data)
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/{id}-lyrics", lyricsHandler)
r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))
server := &http.Server{
Handler: r,
WriteTimeout: 10 * time.Second,
ReadTimeout: 10 * time.Second,
}
port, _ := strconv.Atoi(os.Getenv("PORT"))
if port == 0 {
port = 5555
}
l, err := net.Listen("tcp", fmt.Sprintf(":%d", port))
if err != nil {
fatal(err)
}
info(fmt.Sprintf("server is listening on port %d", port))
fatal(server.Serve(l))
}