49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package options
|
|
|
|
import (
|
|
"github.com/cortezaproject/corteza-server/pkg/rand"
|
|
)
|
|
|
|
type (
|
|
HTTPOpt struct {
|
|
Addr string `env:"HTTP_ADDR"`
|
|
LogRequest bool `env:"HTTP_LOG_REQUEST"`
|
|
LogResponse bool `env:"HTTP_LOG_RESPONSE"`
|
|
Tracing bool `env:"HTTP_ERROR_TRACING"`
|
|
|
|
EnableVersionRoute bool `env:"HTTP_ENABLE_VERSION_ROUTE"`
|
|
EnableDebugRoute bool `env:"HTTP_ENABLE_DEBUG_ROUTE"`
|
|
|
|
EnableMetrics bool `env:"HTTP_METRICS"`
|
|
MetricsServiceLabel string `env:"HTTP_METRICS_NAME"`
|
|
MetricsUsername string `env:"HTTP_METRICS_USERNAME"`
|
|
MetricsPassword string `env:"HTTP_METRICS_PASSWORD"`
|
|
|
|
EnablePanicReporting bool `env:"HTTP_REPORT_PANIC"`
|
|
}
|
|
)
|
|
|
|
func HTTP(pfix string) (o *HTTPOpt) {
|
|
o = &HTTPOpt{
|
|
Addr: ":80",
|
|
LogRequest: false,
|
|
LogResponse: false,
|
|
Tracing: false,
|
|
EnableVersionRoute: true,
|
|
EnableDebugRoute: false,
|
|
EnableMetrics: false,
|
|
MetricsServiceLabel: "corteza",
|
|
MetricsUsername: "metrics",
|
|
|
|
// Reports panics to Sentry throught HTTP middleware
|
|
EnablePanicReporting: true,
|
|
|
|
// Setting metrics password to random string to prevent security accidents...
|
|
MetricsPassword: string(rand.Bytes(5)),
|
|
}
|
|
|
|
fill(o, pfix)
|
|
|
|
return
|
|
}
|