package main

type ConfigJSON struct {
	Frontend FrontendJSON `json:"frontend"`
	Backend  BackendJSON  `json:"backend"`
}

type FrontendJSON struct {
	Enable       bool                 `json:"enable"`
	EntryPoint   string               `json:"entry"`
	ListenAddr   string               `json:"listen"`
	WWWRoot      string               `json:"wwwroot"`
	BackendProxy BackendProxyJSON     `json:"backend_proxy"`
	ShellLog     LumberjackLoggerJSON `json:"shell_log"`
}

type BackendJSON struct {
	Enable     bool                 `json:"enable"`
	EntryPoint string               `json:"entry"`
	ListenAddr string               `json:"listen"`
	ShellLog   LumberjackLoggerJSON `json:"shell_log"`
}

type BackendProxyJSON struct {
	Prefix     string `json:"prefix"`
	ProxyTaret string `json:"target"`
}

type LumberjackLoggerJSON struct {
	FileName     string `json:"file"`
	MaxSize      int    `json:"max_size"`
	MaxAge       int    `json:"max_age"`
	MaxBackups   int    `json:"max_backups"`
	UseLocalTime bool   `json:"use_local_time"`
	Compress     bool   `json:"compress_history"`
}
