Documentation
¶
Index ¶
- Variables
- func LoggerMiddleware() echo.MiddlewareFunc
- func NewFxDebugLogger(logger *logging.Logger) fxevent.Logger
- func NewFxEvents(cfg FxEventsConfig) []fx.Option
- func ProvideConfig() *config.Config
- func ProvideEchoServer() *echo.Echo
- func ProvideHMACMiddleware(cfg HMACConfig) middleware.HMACConfig
- func ProvideLogger() (*logging.Logger, error)
- func SetupEchoMiddleware(e *echo.Echo, logger *logging.Logger)
- func SetupGracefulShutdown(lifecycle fx.Lifecycle, logger *logging.Logger)
- func SetupHMACMiddleware(e *echo.Echo, config middleware.HMACConfig, logger *logging.Logger)
- func StartEchoServer(lifecycle fx.Lifecycle, e *echo.Echo, cfg *config.Config, ...)
- func StopEchoServer(e *echo.Echo, logger *logging.Logger)
- type Application
- type FxEventsConfig
- type HMACConfig
- type LifecycleHooks
- type Option
Constants ¶
This section is empty.
Variables ¶
var EchoModule = Options( Provide(ProvideEchoServer), )
var EchoServer = Options( Invoke(StartEchoServer), )
var HMACModule = Options( Provide(ProvideHMACConfig), Provide(ProvideHMACMiddleware), Invoke(SetupHMACMiddleware), )
HMACModule optional module for HMAC authentication
var LifecycleModule = Options( Provide(NewLifecycleHooks), Invoke(SetupGracefulShutdown), )
LifecycleModule provides lifecycle hooks
var LoggingModule = Options( Provide(ProvideLogger), )
LoggingModule provides logger instance
var PostgresModule = Options( Provide(postgres.ProvidePostgresConfig), Provide(postgres.New), )
Functions ¶
func LoggerMiddleware ¶
func LoggerMiddleware() echo.MiddlewareFunc
LoggerMiddleware creates a custom logger middleware that includes TraceID
func NewFxDebugLogger ¶
NewFxDebugLogger creates custom logger for fx debugging
func NewFxEvents ¶
func NewFxEvents(cfg FxEventsConfig) []fx.Option
NewFxEvents creates and returns fx options for events configuration
func ProvideConfig ¶
func ProvideEchoServer ¶
ProvideEchoServer creates HTTP Echo server
func ProvideHMACMiddleware ¶
func ProvideHMACMiddleware(cfg HMACConfig) middleware.HMACConfig
ProvideHMACMiddleware creates HMAC middleware with configuration
func ProvideLogger ¶
ProvideLogger creates logger instance with optional Elasticsearch integration
func SetupEchoMiddleware ¶
SetupEchoMiddleware sets up Echo middleware with logger
func SetupGracefulShutdown ¶
SetupGracefulShutdown sets up graceful shutdown handling
func SetupHMACMiddleware ¶
func SetupHMACMiddleware(e *echo.Echo, config middleware.HMACConfig, logger *logging.Logger)
SetupHMACMiddleware configures HMAC middleware
Types ¶
type Application ¶
Application represents application with dependency injection
func New ¶
func New(options ...fx.Option) *Application
New creates a new application with given options
type FxEventsConfig ¶
FxEventsConfig structure for fx events configuration
type HMACConfig ¶
type HMACConfig struct {
ClientSecrets []middleware.HMACClientSecret
RouteRights middleware.HMACRouteRights
Algorithm string
MaxAge int
Required bool
}
HMACConfig structure for HMAC configuration Allows infrastructure to not depend on application packages
func ProvideHMACConfig ¶
func ProvideHMACConfig(logger *logging.Logger) (HMACConfig, error)
ProvideHMACConfig creates HMAC configuration from environment variables
type LifecycleHooks ¶
type LifecycleHooks struct {
// contains filtered or unexported fields
}
LifecycleHooks provides lifecycle hooks for the application
func NewLifecycleHooks ¶
func NewLifecycleHooks(logger *logging.Logger) *LifecycleHooks
NewLifecycleHooks creates new lifecycle hooks