Files
billit/internal/server/server.go
2025-12-06 15:31:18 +05:30

42 lines
678 B
Go

package server
import (
"fmt"
"net/http"
"os"
"strconv"
"time"
_ "github.com/joho/godotenv/autoload"
"billit/internal/database"
"io/fs"
)
type Server struct {
port int
db database.Service
assetsFS fs.FS
}
func NewServer(assetsFS fs.FS) *http.Server {
port, _ := strconv.Atoi(os.Getenv("PORT"))
NewServer := &Server{
port: port,
db: database.New(),
assetsFS: assetsFS,
}
// Declare Server config
server := &http.Server{
Addr: fmt.Sprintf(":%d", NewServer.port),
Handler: NewServer.RegisterRoutes(),
IdleTimeout: time.Minute,
ReadTimeout: 10 * time.Second,
WriteTimeout: 30 * time.Second,
}
return server
}