MantisBase v0.3.4
Loading...
Searching...
No Matches
middlewares.h File Reference

Middleware functions for request processing. More...

#include <functional>
#include <string>
#include "types.h"
#include "models/entity.h"
Include dependency graph for middlewares.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  mb
 router.h
 

Functions

std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::getAuthToken ()
 Extract and validate JWT token from Authorization header.
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::hydrateContextData ()
 Hydrate request context with additional data.
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::hasAccess (const std::string &entity_name)
 Check if request has access to entity based on access rules.
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::requireExprEval (const std::string &expr)
 Require expression evaluation to pass.
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::requireGuestOnly ()
 Require guest-only access (no authentication).
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::requireAdminAuth ()
 Require admin authentication.
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::requireAdminOrEntityAuth (const std::string &entity_name)
 Require admin OR entity authentication.
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::requireEntityAuth (const std::string &entity_name)
 Require entity-specific authentication.
 
std::function< HandlerResponse(MantisRequest &, MantisResponse &)> mb::rateLimit (int max_requests, int window_seconds, bool use_user_id=false)
 Rate limiting middleware to prevent abuse.
 

Detailed Description

Middleware functions for request processing.

Provides pre-built middleware functions for authentication, authorization, and request context management.