44 lines
620 B
Go
44 lines
620 B
Go
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)
|
|
}
|