| 1234567891011121314151617181920212223242526272829303132333435 |
- package main
- import (
- "log"
- "net/http"
- "os"
- "time"
- "github.com/example/payroll-svc/internal/platform/clock"
- "github.com/example/payroll-svc/internal/store/payslipstore"
- "github.com/example/payroll-svc/internal/transport/httpapi"
- "github.com/example/payroll-svc/internal/usecase/payroll"
- )
- func main() {
- addr := os.Getenv("LISTEN_ADDR")
- if addr == "" {
- addr = ":8080"
- }
- store := payslipstore.New()
- svc := payroll.NewService(store, clock.System{})
- router := httpapi.NewRouter(httpapi.NewPayrollHandler(svc))
- srv := &http.Server{
- Addr: addr,
- Handler: router,
- ReadHeaderTimeout: 5 * time.Second,
- }
- log.Printf("payrolld listening on %s", addr)
- if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
- log.Fatalf("payrolld: %v", err)
- }
- }
|