Documentation ¶
Index ¶
- func InitializeLoggingEngine(ctx context.Context) core_logging.ILog
- func InitializeMetricsEngine(serviceName string) *core_metrics.CoreMetricsEngine
- func InitializeTracingEngine(serviceName string) (*core_tracing.TracingEngine, io.Closer)
- type ArrayResponse
- type Config
- type LoggingMiddleware
- type MapResponse
- type PrometheusMiddleware
- type RandomDelayMiddleware
- type RuntimeResponse
- type Server
- func (s *Server) ErrorResponse(w http.ResponseWriter, r *http.Request, error string, code int)
- func (s *Server) JSONResponse(w http.ResponseWriter, r *http.Request, result interface{})
- func (s *Server) JSONResponseCode(w http.ResponseWriter, r *http.Request, result interface{}, responseCode int)
- func (s *Server) ListenAndServe(stopCh <-chan struct{})
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitializeLoggingEngine ¶
func InitializeLoggingEngine(ctx context.Context) core_logging.ILog
func InitializeMetricsEngine ¶
func InitializeMetricsEngine(serviceName string) *core_metrics.CoreMetricsEngine
func InitializeTracingEngine ¶
func InitializeTracingEngine(serviceName string) (*core_tracing.TracingEngine, io.Closer)
Types ¶
type ArrayResponse ¶
type ArrayResponse []string
type Config ¶
type Config struct { HttpClientTimeout time.Duration `mapstructure:"http-client-timeout"` HttpServerTimeout time.Duration `mapstructure:"http-server-timeout"` HttpServerShutdownTimeout time.Duration `mapstructure:"http-server-shutdown-timeout"` BackendURL []string `mapstructure:"backend-url"` UILogo string `mapstructure:"ui-logo"` UIMessage string `mapstructure:"ui-message"` UIColor string `mapstructure:"ui-color"` UIPath string `mapstructure:"ui-path"` DataPath string `mapstructure:"data-path"` ConfigPath string `mapstructure:"config-path"` CertPath string `mapstructure:"cert-path"` Port string `mapstructure:"port"` SecurePort string `mapstructure:"secure-port"` PortMetrics int `mapstructure:"port-metrics"` Hostname string `mapstructure:"hostname"` H2C bool `mapstructure:"h2c"` RandomDelay bool `mapstructure:"random-delay"` RandomDelayUnit string `mapstructure:"random-delay-unit"` RandomDelayMin int `mapstructure:"random-delay-min"` RandomDelayMax int `mapstructure:"random-delay-max"` RandomError bool `mapstructure:"random-error"` Unhealthy bool `mapstructure:"unhealthy"` Unready bool `mapstructure:"unready"` JWTSecret string `mapstructure:"jwt-secret"` CacheServer string `mapstructure:"cache-server"` }
type LoggingMiddleware ¶
type LoggingMiddleware struct {
// contains filtered or unexported fields
}
func NewLoggingMiddleware ¶
func NewLoggingMiddleware(logger core_logging.ILog) *LoggingMiddleware
type MapResponse ¶
type PrometheusMiddleware ¶
type PrometheusMiddleware struct { Histogram *prometheus.HistogramVec Counter *prometheus.CounterVec }
func NewPrometheusMiddleware ¶
func NewPrometheusMiddleware() *PrometheusMiddleware
func (*PrometheusMiddleware) Handler ¶
func (p *PrometheusMiddleware) Handler(next http.Handler) http.Handler
Metrics godoc @Summary Prometheus metrics @Description returns HTTP requests duration and Go runtime metrics @Tags Kubernetes @Produce plain @Router /metrics [get] @Success 200 {string} string "OK"
type RandomDelayMiddleware ¶
type RandomDelayMiddleware struct {
// contains filtered or unexported fields
}
func NewRandomDelayMiddleware ¶
func NewRandomDelayMiddleware(minDelay, maxDelay int, delayUnit string) *RandomDelayMiddleware
type RuntimeResponse ¶
type RuntimeResponse struct { Hostname string `json:"hostname"` Version string `json:"version"` Revision string `json:"revision"` Color string `json:"color"` Logo string `json:"logo"` Message string `json:"message"` GOOS string `json:"goos"` GOARCH string `json:"goarch"` Runtime string `json:"runtime"` NumGoroutine string `json:"num_goroutine"` NumCPU string `json:"num_cpu"` }
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewMockServer ¶
func NewMockServer() *Server
func NewServer ¶
func NewServer(config *Config, logger core_logging.ILog, tracer *core_tracing.TracingEngine, metrics *core_metrics.CoreMetricsEngine, db *database.Db, authClient *core_auth_sdk.Client) (*Server, error)
func (*Server) ErrorResponse ¶
func (*Server) JSONResponse ¶
func (s *Server) JSONResponse(w http.ResponseWriter, r *http.Request, result interface{})
func (*Server) JSONResponseCode ¶
func (*Server) ListenAndServe ¶
func (s *Server) ListenAndServe(stopCh <-chan struct{})
Source Files ¶
Click to show internal directories.
Click to hide internal directories.