Documentation
¶
Index ¶
- func ValidateAddress(addr string) error
- func ValidateConfig(cfg *ConfYaml) error
- func ValidatePIDPath(pidPath string) error
- func ValidatePort(port string) error
- type ConfYaml
- type SectionAPI
- type SectionAndroid
- type SectionAutoTLS
- type SectionBadgerDB
- type SectionBoltDB
- type SectionBuntDB
- type SectionCore
- type SectionGRPC
- type SectionHuawei
- type SectionIos
- type SectionLevelDB
- type SectionLog
- type SectionNATS
- type SectionNSQ
- type SectionPID
- type SectionQueue
- type SectionRedis
- type SectionRedisQueue
- type SectionStat
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateAddress ¶ added in v1.19.1
ValidateAddress validates that an address is not empty and contains valid characters
func ValidateConfig ¶ added in v1.19.1
ValidateConfig validates critical configuration parameters
func ValidatePIDPath ¶ added in v1.19.1
ValidatePIDPath validates and sanitizes PID file path to prevent path traversal
func ValidatePort ¶ added in v1.19.1
ValidatePort validates that a port string is within valid range
Types ¶
type ConfYaml ¶
type ConfYaml struct {
Core SectionCore `yaml:"core"`
API SectionAPI `yaml:"api"`
Android SectionAndroid `yaml:"android"`
Huawei SectionHuawei `yaml:"huawei"`
Ios SectionIos `yaml:"ios"`
Queue SectionQueue `yaml:"queue"`
Log SectionLog `yaml:"log"`
Stat SectionStat `yaml:"stat"`
GRPC SectionGRPC `yaml:"grpc"`
}
ConfYaml is config structure.
type SectionAPI ¶
type SectionAPI struct {
PushURI string `yaml:"push_uri"`
StatGoURI string `yaml:"stat_go_uri"`
StatAppURI string `yaml:"stat_app_uri"`
ConfigURI string `yaml:"config_uri"`
SysStatURI string `yaml:"sys_stat_uri"`
MetricURI string `yaml:"metric_uri"`
HealthURI string `yaml:"health_uri"`
}
SectionAPI is sub section of config.
type SectionAndroid ¶
type SectionAndroid struct {
Enabled bool `yaml:"enabled"`
KeyPath string `yaml:"key_path"`
Credential string `yaml:"credential"`
MaxRetry int `yaml:"max_retry"`
}
SectionAndroid is sub section of config.
type SectionAutoTLS ¶ added in v1.8.0
type SectionAutoTLS struct {
Enabled bool `yaml:"enabled"`
Folder string `yaml:"folder"`
Host string `yaml:"host"`
}
SectionAutoTLS support Let's Encrypt setting.
type SectionBadgerDB ¶ added in v1.8.7
type SectionBadgerDB struct {
Path string `yaml:"path"`
}
SectionBadgerDB is sub section of config.
type SectionBoltDB ¶
SectionBoltDB is sub section of config.
type SectionBuntDB ¶ added in v1.6.2
type SectionBuntDB struct {
Path string `yaml:"path"`
}
SectionBuntDB is sub section of config.
type SectionCore ¶
type SectionCore struct {
Enabled bool `yaml:"enabled"`
Address string `yaml:"address"`
ShutdownTimeout int64 `yaml:"shutdown_timeout"`
Port string `yaml:"port"`
MaxNotification int64 `yaml:"max_notification"`
WorkerNum int64 `yaml:"worker_num"`
QueueNum int64 `yaml:"queue_num"`
Mode string `yaml:"mode"`
Sync bool `yaml:"sync"`
SSL bool `yaml:"ssl"`
CertPath string `yaml:"cert_path"`
KeyPath string `yaml:"key_path"`
CertBase64 string `yaml:"cert_base64"`
KeyBase64 string `yaml:"key_base64"`
HTTPProxy string `yaml:"http_proxy"`
PID SectionPID `yaml:"pid"`
AutoTLS SectionAutoTLS `yaml:"auto_tls"`
FeedbackURL string `yaml:"feedback_hook_url"`
FeedbackTimeout int64 `yaml:"feedback_timeout"`
FeedbackHeader []string `yaml:"feedback_header"`
}
SectionCore is sub section of config.
type SectionGRPC ¶ added in v1.8.7
SectionGRPC is sub section of config.
type SectionHuawei ¶ added in v1.8.7
type SectionHuawei struct {
Enabled bool `yaml:"enabled"`
AppSecret string `yaml:"appsecret"`
AppID string `yaml:"appid"`
MaxRetry int `yaml:"max_retry"`
}
SectionHuawei is sub section of config.
type SectionIos ¶
type SectionIos struct {
Enabled bool `yaml:"enabled"`
KeyPath string `yaml:"key_path"`
KeyBase64 string `yaml:"key_base64"`
KeyType string `yaml:"key_type"`
Password string `yaml:"password"`
Production bool `yaml:"production"`
MaxConcurrentPushes uint `yaml:"max_concurrent_pushes"`
MaxRetry int `yaml:"max_retry"`
KeyID string `yaml:"key_id"`
TeamID string `yaml:"team_id"`
}
SectionIos is sub section of config.
type SectionLevelDB ¶ added in v1.6.3
type SectionLevelDB struct {
Path string `yaml:"path"`
}
SectionLevelDB is sub section of config.
type SectionLog ¶
type SectionLog struct {
Format string `yaml:"format"`
AccessLog string `yaml:"access_log"`
AccessLevel string `yaml:"access_level"`
ErrorLog string `yaml:"error_log"`
ErrorLevel string `yaml:"error_level"`
HideToken bool `yaml:"hide_token"`
HideMessages bool `yaml:"hide_messages"`
}
SectionLog is sub section of config.
type SectionNATS ¶ added in v1.8.7
type SectionNATS struct {
Addr string `yaml:"addr"`
Subj string `yaml:"subj"`
Queue string `yaml:"queue"`
}
SectionNATS is sub section of config.
type SectionNSQ ¶ added in v1.8.7
type SectionNSQ struct {
Addr string `yaml:"addr"`
Topic string `yaml:"topic"`
Channel string `yaml:"channel"`
}
SectionNSQ is sub section of config.
type SectionPID ¶ added in v1.6.3
type SectionPID struct {
Enabled bool `yaml:"enabled"`
Path string `yaml:"path"`
Override bool `yaml:"override"`
}
SectionPID is sub section of config.
type SectionQueue ¶ added in v1.8.7
type SectionQueue struct {
Engine string `yaml:"engine"`
NSQ SectionNSQ `yaml:"nsq"`
NATS SectionNATS `yaml:"nats"`
Redis SectionRedisQueue `yaml:"redis"`
}
SectionQueue is sub section of config.
type SectionRedis ¶
type SectionRedis struct {
Cluster bool `yaml:"cluster"`
Addr string `yaml:"addr"`
Username string `yaml:"username"`
Password string `yaml:"password"`
DB int `yaml:"db"`
}
SectionRedis is sub section of config.
type SectionRedisQueue ¶ added in v1.8.7
type SectionRedisQueue struct {
Addr string `yaml:"addr"`
Username string `yaml:"username"`
Password string `yaml:"password"`
DB int `yaml:"db"`
StreamName string `yaml:"stream_name"`
Group string `yaml:"group"`
Consumer string `yaml:"consumer"`
WithTLS bool `yaml:"with_tls"`
}
SectionRedisQueue is sub section of config.
type SectionStat ¶
type SectionStat struct {
Engine string `yaml:"engine"`
Redis SectionRedis `yaml:"redis"`
BoltDB SectionBoltDB `yaml:"boltdb"`
BuntDB SectionBuntDB `yaml:"buntdb"`
LevelDB SectionLevelDB `yaml:"leveldb"`
BadgerDB SectionBadgerDB `yaml:"badgerdb"`
}
SectionStat is sub section of config.