79 lines
2.7 KiB
Go
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"`
|
|
}
|