tupa

package module
v0.0.42 Latest Latest
Warning

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

Go to latest
Published: May 3, 2024 License: MIT Imports: 19 Imported by: 0

README

🇧🇷 Tupã ⚡️

alt text

🇧🇷 Na mitologia Tupi Guarani, Tupã é o deus do trovão, criador de deuses, da humanidade, dos céus, mares, mundo animal e vegetal. O framework Tupã foi criado para te auxiliar na criação de projetos grandiosos e na velocidade da luz ⚡️

🇺🇸 In Tupi-Guarani mythology (a Brazilian indigenous tribe), Tupã is the god of thunder, creator of gods, humanity, the skies, seas, animals and forests. The Tupã framework was created to assist you in the development of ambitious projects at the speed of light ⚡️

CHANGELOG

- v0.0.40
  1. Added globalMiddlewares
  2. Added globalAfterMiddlewares
- v0.0.41
  1. No need to call RegisterRoutes anymore

Documentation

Index

Constants

This section is empty.

Variables

Functions

func AddRoutes

func AddRoutes(groupMiddlewares MiddlewareChain, routeFuncs ...func() []RouteInfo)

func FmtBlue

func FmtBlue(s string) string

func FmtRed

func FmtRed(s string) string

func FmtYellow

func FmtYellow(s string) string

func GenerateRandomStringHelper

func GenerateRandomStringHelper(length int) (string, error)

func UploadFile

func UploadFile(tc *TupaContext, filePrefix, destFolder, formFileKey string) (multipart.FileHeader, error)

func WriteJSONHelper

func WriteJSONHelper(w http.ResponseWriter, status int, v any) error

Types

type APIError

type APIError struct {
	Error string
}

type APIFunc

type APIFunc func(*TupaContext) error

type APIHandlerErr added in v0.0.34

type APIHandlerErr struct {
	Status int
	Msg    string
}

func (APIHandlerErr) Error added in v0.0.34

func (e APIHandlerErr) Error() string

type APIServer

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

func NewAPIServer

func NewAPIServer(listenAddr string, routeManager RouteManager) *APIServer

func (*APIServer) GetGlobalMiddlewares

func (a *APIServer) GetGlobalMiddlewares() []MiddlewareFunc

func (*APIServer) MakeHTTPHandlerFuncHelper

func (a *APIServer) MakeHTTPHandlerFuncHelper(routeInfo RouteInfo) http.HandlerFunc

func (*APIServer) New

func (a *APIServer) New()

func (*APIServer) RegisterRoutes

func (a *APIServer) RegisterRoutes(routeInfos []RouteInfo)

func (*APIServer) UseGlobalAfterMiddleware added in v0.0.40

func (a *APIServer) UseGlobalAfterMiddleware(middleware ...MiddlewareFunc)

func (*APIServer) UseGlobalMiddlewares added in v0.0.42

func (a *APIServer) UseGlobalMiddlewares(middleware ...MiddlewareFunc)

type Context

type Context interface {
	Request() *http.Request
	Response() http.ResponseWriter
	SendString(s string) error
	Param(param string) string
	QueryParam(param string) string
	QueryParams() map[string][]string
	SetRequest(r *http.Request)
	SetResponse(w http.ResponseWriter)
	GetCtx() context.Context
	SetContext(ctx context.Context)
	Context() context.Context
	CtxWithValue(key, value interface{}) *TupaContext
	CtxValue(key interface{}) interface{}
}

type HTTPMethod

type HTTPMethod string
const (
	MethodGet     HTTPMethod = http.MethodGet
	MethodPost    HTTPMethod = http.MethodPost
	MethodPut     HTTPMethod = http.MethodPut
	MethodDelete  HTTPMethod = http.MethodDelete
	MethodPatch   HTTPMethod = http.MethodPatch
	MethodOptions HTTPMethod = http.MethodOptions
)

type HandleFunc added in v0.0.34

type HandleFunc func(*TupaContext) error

type MiddlewareChain

type MiddlewareChain []MiddlewareFunc

func (*MiddlewareChain) Use

func (chain *MiddlewareChain) Use(middleware ...MiddlewareFunc)

type MiddlewareFunc

type MiddlewareFunc func(APIFunc) APIFunc

type MiddlewareFuncCtx added in v0.0.35

type MiddlewareFuncCtx func(APIFunc) *TupaContext

type RouteInfo

type RouteInfo struct {
	Path             string
	Method           HTTPMethod
	Handler          APIFunc
	Middlewares      []MiddlewareFunc
	AfterMiddlewares []MiddlewareFunc
}

func GetRoutes

func GetRoutes() []RouteInfo

type RouteManager added in v0.0.41

type RouteManager func()

type TupaContext

type TupaContext struct {
	Req  *http.Request
	Resp http.ResponseWriter
	Ctx  context.Context
}

func NewTupaContext added in v0.0.34

func NewTupaContext(w http.ResponseWriter, r *http.Request) *TupaContext

func NewTupaContextWithContext added in v0.0.34

func NewTupaContextWithContext(w http.ResponseWriter, r *http.Request, ctx context.Context) *TupaContext

func (*TupaContext) CtxValue added in v0.0.35

func (tc *TupaContext) CtxValue(key interface{}) interface{}

func (*TupaContext) CtxWithValue added in v0.0.35

func (tc *TupaContext) CtxWithValue(key, value interface{}) *TupaContext

func (*TupaContext) GetCtx added in v0.0.34

func (tc *TupaContext) GetCtx() context.Context

func (*TupaContext) GetReqCtx added in v0.0.36

func (tc *TupaContext) GetReqCtx() context.Context

func (*TupaContext) Param

func (tc *TupaContext) Param(param string) string

func (*TupaContext) QueryParam

func (tc *TupaContext) QueryParam(param string) string

func (*TupaContext) QueryParams

func (tc *TupaContext) QueryParams() map[string][]string

func (*TupaContext) Request

func (tc *TupaContext) Request() *http.Request

func (*TupaContext) Response

func (tc *TupaContext) Response() http.ResponseWriter

func (*TupaContext) SendString

func (tc *TupaContext) SendString(s string) error

func (*TupaContext) SetContext added in v0.0.34

func (tc *TupaContext) SetContext(ctx context.Context)

func (*TupaContext) SetRequest

func (tc *TupaContext) SetRequest(r *http.Request)

func (*TupaContext) SetResponse

func (tc *TupaContext) SetResponse(w http.ResponseWriter)

Jump to

Keyboard shortcuts

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