Files
atom/providers/config/section_http.go
2023-02-07 14:40:13 +08:00

52 lines
824 B
Go

package config
import (
"fmt"
"log"
"time"
)
type Http struct {
Static string
Host string
Port uint
Https bool
HttpsCert string
HttpKey string
Cors struct {
Mode string
Whitelist []Whitelist
}
JWT JWT
}
type JWT struct {
SigningKey string // jwt签名
ExpiresTime string // 过期时间
Issuer string // 签发者
}
func (j JWT) ExpiresTimeDuration() time.Duration {
d, err := time.ParseDuration(j.ExpiresTime)
if err != nil {
log.Fatal(err)
}
return d
}
type Whitelist struct {
AllowOrigin string
AllowHeaders string
AllowMethods string
ExposeHeaders string
AllowCredentials bool
}
func (h Http) Address() string {
return fmt.Sprintf("%s:%d", h.Host, h.Port)
}
func (h Http) PortString() string {
return fmt.Sprintf(":%d", h.Port)
}