Documentation ¶
Index ¶
- Variables
- func FailWith(status int, message string, c echo.Context) error
- func GetTX(c echo.Context) newrelic.Transaction
- func HealthCheckHandler(app *App) func(c echo.Context) error
- func SendMqttHandler(app *App) func(c echo.Context) error
- func SucceedWith(payload map[string]interface{}, c echo.Context) error
- func WithSegment(name string, c echo.Context, f func() error) error
- type App
- type DogStatsD
- type JSON
- type LoggerMiddleware
- type MetricsReporter
- type NewRelicMiddleware
- type RecoveryMiddleware
- type ResponseTimeMetricsMiddleware
- type SentryMiddleware
- type VersionMiddleware
Constants ¶
This section is empty.
Variables ¶
var MetricTypes = struct { APIRequestPath string }{ APIRequestPath: "api_request_path", }
MetricTypes constants
var VERSION = "1.2.0"
VERSION identifies Arkadiko's current version
Functions ¶
func HealthCheckHandler ¶
HealthCheckHandler is the handler responsible for validating that the app is still up
func SendMqttHandler ¶
SendMqttHandler is the handler responsible for sending messages to mqtt
func SucceedWith ¶
SucceedWith sends payload to user with status 200
Types ¶
type App ¶
type App struct { Debug bool Port int Host string ConfigPath string Errors metrics.EWMA App *jecho.Echo Config *viper.Viper Logger log.FieldLogger MqttClient *mqttclient.MqttClient HttpClient *httpclient.HttpClient NewRelic newrelic.Application DDStatsD *DogStatsD }
App is a struct that represents a arkadiko API Application
func GetApp ¶
func GetApp(host string, port int, configPath string, debug bool, logger log.FieldLogger) (*App, error)
GetApp returns a new arkadiko API Application
func (*App) Configure ¶
Configure instantiates the required dependencies for arkadiko Api Application
func (*App) OnErrorHandler ¶
OnErrorHandler handles panics
type DogStatsD ¶ added in v1.1.0
type DogStatsD struct {
// contains filtered or unexported fields
}
DogStatsD metrics reporter struct
func NewDogStatsD ¶ added in v1.1.0
NewDogStatsD ctor
type LoggerMiddleware ¶
type LoggerMiddleware struct {
Logger log.FieldLogger
}
LoggerMiddleware is responsible for logging to Zap all requests
func NewLoggerMiddleware ¶
func NewLoggerMiddleware(theLogger log.FieldLogger) *LoggerMiddleware
NewLoggerMiddleware returns the logger middleware
func (*LoggerMiddleware) Serve ¶
func (l *LoggerMiddleware) Serve(next echo.HandlerFunc) echo.HandlerFunc
Serve serves the middleware
type MetricsReporter ¶ added in v1.1.0
type MetricsReporter interface { Timing(metric string, value time.Duration, tags ...string) error Gauge(metrics string, value float64, tags ...string) error Increment(metric string, tags ...string) error }
MetricsReporter interface
func NewMetricsReporter ¶ added in v1.1.0
func NewMetricsReporter(config *viper.Viper) (MetricsReporter, error)
NewMetricsReporter ctor
type NewRelicMiddleware ¶
type NewRelicMiddleware struct { App *App Logger log.FieldLogger }
NewRelicMiddleware is responsible for logging to Zap all requests
func NewNewRelicMiddleware ¶
func NewNewRelicMiddleware(app *App, theLogger log.FieldLogger) *NewRelicMiddleware
NewNewRelicMiddleware returns the logger middleware
func (*NewRelicMiddleware) Serve ¶
func (nr *NewRelicMiddleware) Serve(next echo.HandlerFunc) echo.HandlerFunc
Serve serves the middleware
type RecoveryMiddleware ¶
RecoveryMiddleware recovers from errors
func NewRecoveryMiddleware ¶
func NewRecoveryMiddleware(onError func(error, []byte)) *RecoveryMiddleware
NewRecoveryMiddleware returns a configured middleware
func (*RecoveryMiddleware) Serve ¶
func (r *RecoveryMiddleware) Serve(next echo.HandlerFunc) echo.HandlerFunc
Serve executes on error handler when errors happen
type ResponseTimeMetricsMiddleware ¶ added in v1.1.0
type ResponseTimeMetricsMiddleware struct {
DDStatsD *DogStatsD
}
ResponseTimeMetricsMiddleware struct encapsulating DDStatsD
func NewResponseTimeMetricsMiddleware ¶ added in v1.1.0
func NewResponseTimeMetricsMiddleware(ddStatsD *DogStatsD) *ResponseTimeMetricsMiddleware
ResponseTimeMetricsMiddleware returns a new ResponseTimeMetricsMiddleware
func (ResponseTimeMetricsMiddleware) Serve ¶ added in v1.1.0
func (responseTimeMiddleware ResponseTimeMetricsMiddleware) Serve(next echo.HandlerFunc) echo.HandlerFunc
ResponseTimeMetricsMiddleware is a middleware to measure the response time of a route and send it do StatsD
type SentryMiddleware ¶
type SentryMiddleware struct {
App *App
}
SentryMiddleware is responsible for sending all exceptions to sentry
func NewSentryMiddleware ¶
func NewSentryMiddleware(app *App) *SentryMiddleware
NewSentryMiddleware returns a new sentry middleware
func (*SentryMiddleware) Serve ¶
func (s *SentryMiddleware) Serve(next echo.HandlerFunc) echo.HandlerFunc
Serve serves the middleware
type VersionMiddleware ¶
type VersionMiddleware struct {
Version string
}
VersionMiddleware inserts the current version in all requests
func NewVersionMiddleware ¶
func NewVersionMiddleware() *VersionMiddleware
NewVersionMiddleware with API version
func (*VersionMiddleware) Serve ¶
func (v *VersionMiddleware) Serve(next echo.HandlerFunc) echo.HandlerFunc
Serve serves the middleware