0.3.8
This commit is contained in:
1 parent
50b53e72f0
commit
439cc20dcf
6 files changed
+110
-8
No files matched your search
@@ -30,6 +30,18 @@ type Config struct {
|
||||
RRDPath string
|
||||
GraphDir string
|
||||
StatsInterval time.Duration
|
||||
|
||||
// Per-IP rate limiting. Off by default -- see README "Rate limiting"
|
||||
// for what each endpoint's limit protects against and reasonable
|
||||
// values if you turn it on.
|
||||
RateLimitEnabled bool
|
||||
RateLimitStats int
|
||||
RateLimitStatsLive int
|
||||
RateLimitGraph int
|
||||
RateLimitChannel int
|
||||
RateLimitVerify int
|
||||
RateLimitVerifyDone int
|
||||
RateLimitCreate int
|
||||
}
|
||||
|
||||
func Load() (Config, error) {
|
||||
@@ -86,6 +98,36 @@ func Load() (Config, error) {
|
||||
if c.StatsInterval < 10*time.Second {
|
||||
return c, errors.New("STATS_INTERVAL must be at least 10s")
|
||||
}
|
||||
|
||||
c.RateLimitEnabled = envBool("RATE_LIMIT_ENABLED", false)
|
||||
c.RateLimitStats, err = envInt("RATE_LIMIT_STATS", 60)
|
||||
if err != nil {
|
||||
return c, err
|
||||
}
|
||||
c.RateLimitStatsLive, err = envInt("RATE_LIMIT_STATS_LIVE", 60)
|
||||
if err != nil {
|
||||
return c, err
|
||||
}
|
||||
c.RateLimitGraph, err = envInt("RATE_LIMIT_GRAPH", 600)
|
||||
if err != nil {
|
||||
return c, err
|
||||
}
|
||||
c.RateLimitChannel, err = envInt("RATE_LIMIT_CHANNEL", 40)
|
||||
if err != nil {
|
||||
return c, err
|
||||
}
|
||||
c.RateLimitVerify, err = envInt("RATE_LIMIT_VERIFY", 10)
|
||||
if err != nil {
|
||||
return c, err
|
||||
}
|
||||
c.RateLimitVerifyDone, err = envInt("RATE_LIMIT_VERIFY_DONE", 10)
|
||||
if err != nil {
|
||||
return c, err
|
||||
}
|
||||
c.RateLimitCreate, err = envInt("RATE_LIMIT_CREATE", 5)
|
||||
if err != nil {
|
||||
return c, err
|
||||
}
|
||||
return c, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user