Files
frankenphp/internal/testserver/main.go

38 lines
729 B
Go

package main
import (
"context"
"log/slog"
"net/http"
"os"
"github.com/dunglas/frankenphp"
)
func main() {
logger := slog.New(slog.NewTextHandler(os.Stdout, nil))
if err := frankenphp.Init(frankenphp.WithLogger(logger)); err != nil {
panic(err)
}
defer frankenphp.Shutdown()
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
req, err := frankenphp.NewRequestWithContext(r)
if err != nil {
panic(err)
}
if err := frankenphp.ServeHTTP(w, req); err != nil {
panic(err)
}
})
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
logger.LogAttrs(context.Background(), slog.LevelError, "server error", slog.Any("error", http.ListenAndServe(":"+port, nil)))
os.Exit(1)
}