27 lines
455 B
Go
27 lines
455 B
Go
package site
|
|
|
|
import (
|
|
"fmt"
|
|
"log/slog"
|
|
"net/http"
|
|
"os"
|
|
)
|
|
|
|
type Config struct {
|
|
Logger *slog.Logger
|
|
Port int
|
|
}
|
|
|
|
func NewConfig(logLevel slog.Level, port int) Config {
|
|
logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}))
|
|
return Config{
|
|
Logger: logger,
|
|
Port: port,
|
|
}
|
|
}
|
|
|
|
func Run(c Config) error {
|
|
h := newHandler(c.Logger)
|
|
return http.ListenAndServe(fmt.Sprintf(":%d", c.Port), newRouter(h))
|
|
}
|