frankenphp/internal/testserver/main.go
2022-10-04 17:42:45 +02:00

41 lines
707 B
Go

package main
import (
"net/http"
"os"
"github.com/dunglas/frankenphp"
"go.uber.org/zap"
)
func main() {
logger, err := zap.NewDevelopment()
if err != nil {
panic(err)
}
if err := frankenphp.Init(frankenphp.WithLogger(logger)); err != nil {
panic(err)
}
defer frankenphp.Shutdown()
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
cwd, err := os.Getwd()
if err != nil {
panic(err)
}
req := frankenphp.NewRequestWithContext(r, cwd, nil)
if err := frankenphp.ServeHTTP(w, req); err != nil {
panic(err)
}
})
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
logger.Fatal("server error", zap.Error(http.ListenAndServe(":"+port, nil)))
}