server

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2025 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Index

Constants

View Source
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

func DefaultHTTPServer(
	handler *Handler, port int, endpoints []endpoint.Endpoint,
) *http.Server

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL