caddydash/gen/struct.go
wjqserver b10790c212 init
2025-06-20 16:33:27 +08:00

79 lines
2.7 KiB
Go

package gen
/*
type CaddyReverseProxyConfig struct {
Domain string // 域名; 例如 example.com
ReverseProxy string // 反向代理目标; 例如 127.0.0.1:8080 (这里简化为单个目标)
Headers []string // 自定义响应Header
HeadersUp []string // 自定义请求头列表; 例如 ["XXX0 XX", "XXX1 XXX"]
EnableLog bool // 是否导入 log 指令
LogDomain string // log 指令的域名参数
EnableErrorPage bool // 是否导入 error_page 指令
EnableEncode bool // 是否导入 encode 指令
}
type CaddyFileServerConfig struct {
Domain string // 域名; 例如 example.com
FileDirPath string // 文件目录
EnableBrowser bool // 是否导入 browse 指令
Headers []string //
EnableLog bool // 是否导入 log 指令
LogDomain string // log 指令的域名参数
EnableErrorPage bool // 是否导入 error_page 指令
EnableEncode bool // 是否导入 encode 指令
}
*/
func HeadersMapToHeadersUp(headers map[string][]string) []string {
var headersUp []string
for key, values := range headers {
for _, value := range values {
headersUp = append(headersUp, key+" "+value)
}
}
return headersUp
}
type CaddyUniConfig struct {
DomainConfig CaddyUniDomainConfig `json:"domain_config"`
Mode string `json:"mode"`
Upstream CaddyUniUpstreamConfig `json:"upstream_config"`
FileServer CaddyUniFileServerConfig `json:"file_server_config"`
Headers map[string][]string `json:"headers"`
Log CaddyUniLogConfig `json:"log_config"`
ErrorPage CaddyUniErrorPageConfig `json:"error_page_config"`
Encode CaddyUniEncodeConfig `json:"encode_config"`
}
type CaddyUniDomainConfig struct {
Domain string `json:"domain"`
MutiDomains bool `json:"muti_domains"`
Domains []string `json:"domains"`
}
type CaddyUniUpstreamConfig struct {
EnableUpStream bool `json:"enable_upstream"`
UpStream string `json:"upstream"`
MutiUpStreams bool `json:"muti_upstream"`
UpStreams []string `json:"upstream_servers"`
UpStreamHeaders map[string][]string `json:"upstream_headers"`
}
type CaddyUniFileServerConfig struct {
EnableFileServer bool `json:"enable_file_server"`
FileDirPath string `json:"file_dir_path"`
EnableBrowser bool `json:"enable_browser"`
}
type CaddyUniLogConfig struct {
EnableLog bool `json:"enable_log"`
LogDomain string `json:"log_domain"`
}
type CaddyUniErrorPageConfig struct {
EnableErrorPage bool `json:"enable_error_page"`
}
type CaddyUniEncodeConfig struct {
EnableEncode bool `json:"enable_encode"`
}