32 lines
671 B
Go
Executable File
32 lines
671 B
Go
Executable File
package main
|
|
|
|
import (
|
|
"errors"
|
|
"log"
|
|
"net/http"
|
|
"time"
|
|
|
|
"browser.local/platform/api"
|
|
"browser.local/platform/config"
|
|
)
|
|
|
|
const defaultReadHeaderTimeout = 5 * time.Second
|
|
|
|
func main() {
|
|
cfg := config.Load()
|
|
router, err := api.NewRouterFromConfig(cfg)
|
|
if err != nil {
|
|
log.Fatalf("platform storage initialization failed: %v", err)
|
|
}
|
|
server := &http.Server{
|
|
Addr: cfg.Addr,
|
|
Handler: router,
|
|
ReadHeaderTimeout: defaultReadHeaderTimeout,
|
|
}
|
|
|
|
log.Printf("platform listening on %s", cfg.Addr)
|
|
if err := server.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) {
|
|
log.Fatalf("platform server failed: %v", err)
|
|
}
|
|
}
|