12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package config
- import (
- "eta/eta_mini_ht_api/common/contants"
- "fmt"
- "strings"
- "sync"
- )
- var (
- fileOnce sync.Once
- fileConfig *FileConfig
- )
- type FileOpts struct {
- Path string
- Notice string
- Disclaimer string
- PublicKey string
- }
- type FileConfig struct {
- BaseConfig
- opts FileOpts
- }
- func (f *FileConfig) GetNotice() string {
- if strings.HasSuffix(f.opts.Path, "/") {
- return fmt.Sprint(f.opts.Path, f.opts.Notice)
- }
- return fmt.Sprint(f.opts.Path, "/", f.opts.Notice)
- }
- func (f *FileConfig) GetPath() string {
- return f.opts.Path
- }
- func (f *FileConfig) GetPublicKey() string {
- return f.opts.PublicKey
- }
- func (f *FileConfig) GetDisclaimer() string {
- if strings.HasSuffix(f.opts.Path, "/") {
- return fmt.Sprint(f.opts.Path, f.opts.Disclaimer)
- }
- return fmt.Sprint(f.opts.Path, "/", f.opts.Disclaimer)
- }
- func (f *FileConfig) InitConfig() {
- opts := FileOpts{
- Path: f.GetString("path"),
- Notice: f.GetString("notice"),
- Disclaimer: f.GetString("disclaimer"),
- PublicKey: f.GetString("publicKey"),
- }
- f.opts = opts
- }
- func NewFileConfig() Config {
- if fileConfig == nil {
- fileOnce.Do(func() {
- fileConfig = &FileConfig{
- BaseConfig: BaseConfig{prefix: contants.FILE},
- opts: FileOpts{},
- }
- })
- }
- return fileConfig
- }
- func init() {
- Register(contants.FILE, NewFileConfig)
- }
|