chore: refine config error messages and adjust internal config structures
This commit is contained in:
@@ -41,15 +41,16 @@ type Server struct {
|
||||
}
|
||||
|
||||
type serverConfig struct {
|
||||
client *http.Client
|
||||
event subscribe.Subscriber
|
||||
cacheMeta kv.KV
|
||||
cacheMetaTTL time.Duration
|
||||
cacheMetaRefresh time.Duration
|
||||
cacheBlob cache.Cache
|
||||
cacheBlobTTL time.Duration
|
||||
errorHandler func(w http.ResponseWriter, r *http.Request, err error)
|
||||
filterConfig map[string]map[string]any
|
||||
client *http.Client
|
||||
event subscribe.Subscriber
|
||||
cacheMeta kv.KV
|
||||
cacheMetaTTL time.Duration
|
||||
cacheMetaRefresh time.Duration
|
||||
cacheMetaRefreshConcurrent int
|
||||
cacheBlob cache.Cache
|
||||
cacheBlobTTL time.Duration
|
||||
errorHandler func(w http.ResponseWriter, r *http.Request, err error)
|
||||
filterConfig map[string]map[string]any
|
||||
}
|
||||
|
||||
type ServerOption func(*serverConfig)
|
||||
@@ -66,11 +67,12 @@ func WithEvent(event subscribe.Subscriber) ServerOption {
|
||||
}
|
||||
}
|
||||
|
||||
func WithMetaCache(cache kv.KV, ttl time.Duration, refresh time.Duration) ServerOption {
|
||||
func WithMetaCache(cache kv.KV, ttl time.Duration, refresh time.Duration, refreshConcurrent int) ServerOption {
|
||||
return func(c *serverConfig) {
|
||||
c.cacheMeta = cache
|
||||
c.cacheMetaTTL = ttl
|
||||
c.cacheMetaRefresh = refresh
|
||||
c.cacheMetaRefreshConcurrent = refreshConcurrent
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,6 +125,10 @@ func NewPageServer(
|
||||
cfg.cacheMetaRefresh = cfg.cacheMetaTTL / 2
|
||||
}
|
||||
|
||||
if cfg.cacheMetaRefreshConcurrent == 0 {
|
||||
cfg.cacheMetaRefreshConcurrent = 16
|
||||
}
|
||||
|
||||
if cfg.cacheBlob == nil {
|
||||
var err error
|
||||
cfg.cacheBlob, err = cache.NewMemoryCache(cache.MemoryCacheConfig{
|
||||
@@ -141,7 +147,7 @@ func NewPageServer(
|
||||
}
|
||||
|
||||
alias := core.NewDomainAlias(db.Child("config", "alias"))
|
||||
svcMeta := core.NewServerMeta(cfg.client, backend, domain, alias, cfg.cacheMeta, cfg.cacheMetaTTL, cfg.cacheMetaRefresh)
|
||||
svcMeta := core.NewServerMeta(cfg.client, backend, domain, alias, cfg.cacheMeta, cfg.cacheMetaTTL, cfg.cacheMetaRefresh, cfg.cacheMetaRefreshConcurrent)
|
||||
pageMeta := core.NewPageDomain(svcMeta, domain)
|
||||
globCache, err := lru.New[string, glob.Glob](512)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user