package http

import (
	"fmt"
)

const DefaultPrefix = "Http"

type Config struct {
	Host string
	Port uint

	StaticPath  *string
	StaticRoute *string
	BaseURI     *string
	Tls         *Tls
	Cors        *Cors
}

type Tls struct {
	Cert string
	Key  string
}

type Cors struct {
	Mode      string
	Whitelist []Whitelist
}

type Whitelist struct {
	AllowOrigin      string
	AllowHeaders     string
	AllowMethods     string
	ExposeHeaders    string
	AllowCredentials bool
}

func (h *Config) Address() string {
	if h.Host == "" {
		return fmt.Sprintf("0.0.0.0:%d", h.Port)
	}
	return fmt.Sprintf("%s:%d", h.Host, h.Port)
}
