http

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: Apache-2.0 Imports: 16 Imported by: 17

Documentation

Overview

Package http provides a set of utilities for handling HTTP requests and responses within the GoFr framework.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Metrics added in v0.3.0

type Metrics interface {
	IncrementCounter(ctx context.Context, name string, labels ...string)
	DeltaUpDownCounter(ctx context.Context, name string, value float64, labels ...string)
	RecordHistogram(ctx context.Context, name string, value float64, labels ...string)
	SetGauge(name string, value float64, labels ...string)
}

Metrics represents an interface for registering the default metrics in GoFr framework.

type Middleware added in v1.5.0

type Middleware func(handler http.Handler) http.Handler

type Request

type Request struct {
	// contains filtered or unexported fields
}

Request is an abstraction over the underlying http.Request. This abstraction is useful because it allows us to create applications without being aware of the transport. cmd.Request is another such abstraction.

func NewRequest

func NewRequest(r *http.Request) *Request

NewRequest creates a new GoFr Request instance from the given http.Request.

func (*Request) Bind

func (r *Request) Bind(i interface{}) error

Bind parses the request body and binds it to the provided interface.

func (*Request) Context

func (r *Request) Context() context.Context

Context returns the context of the request.

func (*Request) HostName

func (r *Request) HostName() string

HostName retrieves the hostname from the request.

func (*Request) Param

func (r *Request) Param(key string) string

Param returns the query parameter with the given key.

func (*Request) PathParam

func (r *Request) PathParam(key string) string

PathParam retrieves a path parameter from the request.

type Responder

type Responder struct {
	// contains filtered or unexported fields
}

Responder encapsulates an http.ResponseWriter and is responsible for crafting structured responses.

func NewResponder

func NewResponder(w http.ResponseWriter, method string) *Responder

NewResponder creates a new Responder instance from the given http.ResponseWriter..

func (Responder) HTTPStatusFromError

func (r Responder) HTTPStatusFromError(err error) (status int, errObj interface{})

HTTPStatusFromError maps errors to HTTP status codes.

func (Responder) Respond

func (r Responder) Respond(data interface{}, err error)

Respond sends a response with the given data and handles potential errors, setting appropriate status codes and formatting responses as JSON or raw data as needed.

type Router

type Router struct {
	mux.Router
}

Router is responsible for routing HTTP request.

func NewRouter

func NewRouter(c *container.Container) *Router

NewRouter creates a new Router instance.

func (*Router) Add

func (rou *Router) Add(method, pattern string, handler http.Handler)

Add adds a new route with the given HTTP method, pattern, and handler, wrapping the handler with OpenTelemetry instrumentation.

func (*Router) UseMiddleware added in v1.5.0

func (rou *Router) UseMiddleware(mws ...Middleware)

UseMiddleware registers middlewares to the router.

Directories

Path Synopsis
Package middleware provides a collection of middleware functions that handles various aspects of request handling, such as authentication, logging, tracing, and metrics collection.
Package middleware provides a collection of middleware functions that handles various aspects of request handling, such as authentication, logging, tracing, and metrics collection.

Jump to

Keyboard shortcuts

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