3
0
Files
corteza/auth/flags_http.go

41 lines
927 B
Go

package auth
import (
"github.com/namsral/flag"
"github.com/pkg/errors"
)
type (
httpFlags struct {
addr string
logging bool
pretty bool
tracing bool
metrics bool
}
)
func (c *httpFlags) validate() error {
if c == nil {
return nil
}
if c.addr == "" {
return errors.New("No HTTP Addr is set, can't listen for HTTP")
}
return nil
}
func (c *httpFlags) flags(prefix ...string) *httpFlags {
p := func(s string) string {
return prefix[0] + "-" + s
}
flag.StringVar(&c.addr, p("http-addr"), ":3000", "Listen address for HTTP server")
flag.BoolVar(&c.logging, p("http-log"), true, "Enable/disable HTTP request log")
flag.BoolVar(&c.pretty, p("http-pretty-json"), false, "Prettify returned JSON output")
flag.BoolVar(&c.tracing, p("http-error-tracing"), false, "Return error stack frame")
flag.BoolVar(&c.metrics, p("http-metrics"), false, "Provide metrics export for prometheus")
return c
}