Documentation
¶
Index ¶
Constants ¶
const ( EventRegisterURL event.EventType = "event_register_url" EventNotFound event.EventType = "event_not_found" EventMethodNotAllowed event.EventType = "event_method_not_allowed" EventPanic event.EventType = "event_panic" EventStart event.EventType = "event_start" EventErrorStart event.EventType = "event_error_start" EventShutDownStarted event.EventType = "event_shutdown_started" EventShutDown event.EventType = "event_shutdown" EventShutDownError event.EventType = "event_shutdown_error" )
Define events.
Variables ¶
This section is empty.
Functions ¶
func DefaultHTTPServer ¶
DefaultHTTPServer returns the default HTTP server implementation. It sets default request read and write timeouts of 10 seconds, idle timeout of 60 seconds, and a max header size of 64KB.
Parameters:
- handler: HTTP server handler.
- port: Port for the HTTP server.
- endpoints: Endpoints to register.
Returns:
- *http.Server: http.Server instance.
func StartServer ¶
func StartServer( handler *Handler, server HTTPServer, shutdownTimeout *time.Duration, ) error
StartServer sets up an HTTP server with the specified port and endpoints, using optional event emitter. The handler listens for OS interrupt signals to gracefully shut down. If no shutdown timeout is provided, 60 seconds will be used by default.
Parameters:
- handler: HTTP server handler.
- server: Server implementation to use.
- shutdownTimeout: Optional shutdown timeout.
Returns:
- error: Error starting the server.
Types ¶
type HTTPServer ¶
type HTTPServer interface {
ListenAndServe() error // Start the server.
Shutdown(ctx context.Context) error // Shut down the server.
}
HTTPServer represents an HTTP server.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler represents an HTTP server handler.
func NewHandler ¶
func NewHandler(emitterLogger event.EmitterLogger) *Handler
NewHandler creates a new HTTPServer. If an event emitter is provided, it will be used to emit events. Otherwise, logging will be used. If no logger is provided, log.Default() will be used. If no event emitter is provided, no events will be emitted or logged.
Parameters:
- eventEmitter: Optional event emitter.
Returns:
- *Handler: A new Handler instance.