Documentation ¶
Overview ¶
Package mid provides app level middleware support.
Index ¶
- Variables
- func Authenticate(ctx context.Context, log *logger.Logger, client *authclient.Client, ...) (any, error)
- func Authorize(ctx context.Context, log *logger.Logger, client *authclient.Client, ...) (any, error)
- func AuthorizeHome(ctx context.Context, log *logger.Logger, client *authclient.Client, ...) (any, error)
- func AuthorizeProduct(ctx context.Context, log *logger.Logger, client *authclient.Client, ...) (any, error)
- func AuthorizeUser(ctx context.Context, log *logger.Logger, client *authclient.Client, ...) (any, error)
- func Basic(ctx context.Context, ath *auth.Auth, userBus *userbus.Business, ...) (any, error)
- func Bearer(ctx context.Context, ath *auth.Auth, authorization string, next Handler) (any, error)
- func BeginCommitRollback(ctx context.Context, log *logger.Logger, bgn transaction.Beginner, ...) (any, error)
- func Errors(ctx context.Context, log *logger.Logger, next Handler) (any, error)
- func GetClaims(ctx context.Context) auth.Claims
- func GetHome(ctx context.Context) (homebus.Home, error)
- func GetProduct(ctx context.Context) (productbus.Product, error)
- func GetTran(ctx context.Context) (transaction.CommitRollbacker, bool)
- func GetUser(ctx context.Context) (userbus.User, error)
- func GetUserID(ctx context.Context) (uuid.UUID, error)
- func Logger(ctx context.Context, log *logger.Logger, path string, rawQuery string, ...) (any, error)
- func Metrics(ctx context.Context, next Handler) (any, error)
- func Panics(ctx context.Context, next Handler) (resp any, err error)
- type Handler
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidID = errors.New("ID is not in its proper form")
ErrInvalidID represents a condition where the id is not a uuid.
Functions ¶
func Authenticate ¶
func Authenticate(ctx context.Context, log *logger.Logger, client *authclient.Client, authorization string, next Handler) (any, error)
Authenticate validates authentication via the auth service.
func Authorize ¶
func Authorize(ctx context.Context, log *logger.Logger, client *authclient.Client, rule string, next Handler) (any, error)
Authorize validates authorization via the auth service.
func AuthorizeHome ¶
func AuthorizeHome(ctx context.Context, log *logger.Logger, client *authclient.Client, homeBus *homebus.Business, id string, next Handler) (any, error)
AuthorizeHome executes the specified role and extracts the specified home from the DB if a home id is specified in the call. Depending on the rule specified, the userid from the claims may be compared with the specified user id from the home.
func AuthorizeProduct ¶
func AuthorizeProduct(ctx context.Context, log *logger.Logger, client *authclient.Client, productBus *productbus.Business, id string, next Handler) (any, error)
AuthorizeProduct executes the specified role and extracts the specified product from the DB if a product id is specified in the call. Depending on the rule specified, the userid from the claims may be compared with the specified user id from the product.
func AuthorizeUser ¶
func AuthorizeUser(ctx context.Context, log *logger.Logger, client *authclient.Client, userBus *userbus.Business, rule string, id string, next Handler) (any, error)
AuthorizeUser executes the specified role and extracts the specified user from the DB if a user id is specified in the call. Depending on the rule specified, the userid from the claims may be compared with the specified user id.
func Basic ¶
func Basic(ctx context.Context, ath *auth.Auth, userBus *userbus.Business, authorization string, next Handler) (any, error)
Basic processes basic authentication logic.
func BeginCommitRollback ¶
func BeginCommitRollback(ctx context.Context, log *logger.Logger, bgn transaction.Beginner, next Handler) (any, error)
BeginCommitRollback starts a transaction for the domain call.
func Errors ¶
Errors handles errors coming out of the call chain. It detects normal application errors which are used to respond to the client in a uniform way. Unexpected errors (status >= 500) are logged.
func GetProduct ¶
func GetProduct(ctx context.Context) (productbus.Product, error)
GetProduct returns the product from the context.
func GetTran ¶
func GetTran(ctx context.Context) (transaction.CommitRollbacker, bool)
GetTran retrieves the value that can manage a transaction.
func Logger ¶
func Logger(ctx context.Context, log *logger.Logger, path string, rawQuery string, method string, remoteAddr string, next Handler) (any, error)
Logger writes information about the request to the logs.