Documentation
¶
Overview ¶
Package http provides HTTP server implementation and request handlers.
Package http provides HTTP server implementation and request handlers.
Package http provides HTTP server implementation and request handlers.
Package http provides HTTP server implementation and request handlers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HealthHandler ¶
HealthHandler returns a simple health check handler
Types ¶
type Middleware ¶
Middleware defines a function to wrap http.Handler
func ChainMiddleware ¶
func ChainMiddleware(middlewares ...Middleware) Middleware
ChainMiddleware chains multiple middlewares
func LoggingMiddleware ¶
func LoggingMiddleware(logger *slog.Logger) Middleware
LoggingMiddleware logs HTTP requests
func RecoveryMiddleware ¶
func RecoveryMiddleware(logger *slog.Logger) Middleware
RecoveryMiddleware recovers from panics
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server represents the HTTP server
func NewServer ¶
func NewServer( host string, port int, logger *slog.Logger, userUseCase *usecase.UserUseCase, ) *Server
NewServer creates a new HTTP server
type UserHandler ¶
type UserHandler struct {
// contains filtered or unexported fields
}
UserHandler handles user-related HTTP requests
func NewUserHandler ¶
func NewUserHandler(userUseCase UserUseCaseInterface, logger *slog.Logger) *UserHandler
NewUserHandler creates a new UserHandler
func (*UserHandler) RegisterUser ¶
func (h *UserHandler) RegisterUser(w http.ResponseWriter, r *http.Request)
RegisterUser handles user registration
type UserUseCaseInterface ¶
type UserUseCaseInterface interface {
RegisterUser(ctx context.Context, input usecase.RegisterUserInput) (*domain.User, error)
GetUserByEmail(ctx context.Context, email string) (*domain.User, error)
GetUserByID(ctx context.Context, id int64) (*domain.User, error)
}
UserUseCaseInterface defines the interface for user use case operations