httputil

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInternalServer = Error{
		Code:       "CM0001",
		Message:    "internal server error",
		StatusCode: http.StatusInternalServerError,
	}
	ErrDecodeBodyFailed = Error{
		Code:       "CM0002",
		Message:    "decode body error",
		StatusCode: http.StatusBadRequest,
	}
	ErrDecodePathParamsFailed = Error{
		Code:       "CM0003",
		Message:    "decode path params error",
		StatusCode: http.StatusBadRequest,
	}
	ErrDecodeHeaderParamsFailed = Error{
		Code:       "CM0004",
		Message:    "decode header params error",
		StatusCode: http.StatusBadRequest,
	}
	ErrDecodeQueryParamsFailed = Error{
		Code:       "CM0005",
		Message:    "decode query params error",
		StatusCode: http.StatusBadRequest,
	}
	ErrValidationFailed = Error{
		Code:       "CM0006",
		Message:    "validation error",
		StatusCode: http.StatusBadRequest,
	}
	ErrInvalidAuthorization = Error{
		Code:       "CM0007",
		Message:    "invalid Authorization header or query param",
		StatusCode: http.StatusBadRequest,
	}
	ErrForbiddenPerformAction = Error{
		Code:       "CM0008",
		Message:    "it's forbidden to perform this action",
		StatusCode: http.StatusForbidden,
	}
)

Functions

func RespondError

func RespondError(ctx context.Context, w http.ResponseWriter, err error)

func RespondSuccess

func RespondSuccess(ctx context.Context, w http.ResponseWriter, statusCode int, v any)

Types

type Error

type Error struct {
	Err        error             `json:"-"`
	Code       string            `json:"code"`
	StatusCode int               `json:"-"`
	Message    string            `json:"message"`
	Data       map[string]string `json:"data,omitempty"`
}

func (Error) Error

func (e Error) Error() string

func (Error) Unwrap

func (e Error) Unwrap() error

func (Error) WithData

func (e Error) WithData(data map[string]string) Error

func (Error) Wrap

func (e Error) Wrap(err error) Error

type RequestDecoder

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

func NewRequestDecoder

func NewRequestDecoder(req *http.Request) RequestDecoder

func (RequestDecoder) Body

func (d RequestDecoder) Body(v any) error

func (RequestDecoder) Header

func (d RequestDecoder) Header(key string, val any, defaultVal any) error

func (RequestDecoder) MergeResults

func (d RequestDecoder) MergeResults(errs ...error) error

func (RequestDecoder) Path

func (d RequestDecoder) Path(key string, val any, defaultVal any) error

func (RequestDecoder) Query

func (d RequestDecoder) Query(key string, val any, defaultVal any) error

type Server

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

func NewServer

func NewServer(conf config.Server, h http.Handler) *Server

func (*Server) Close

func (s *Server) Close() error

func (*Server) Run

func (s *Server) Run()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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