apifrom.middleware.base

Base middleware classes for APIFromAnything.

This module defines the base middleware classes that can be used to process requests and responses.

Overview

Classes

  • BaseMiddleware

  • Middleware

Classes

BaseMiddleware(**options):bases: abc.ABC

Base middleware class for APIFromAnything.

This abstract class defines the interface for middleware components. Middleware components can process requests and responses.

apifrom.middleware.base.options

Options for the middleware.

Type:

dict

Initialize a new BaseMiddleware instance.

param **options:

Options for the middleware.

apifrom.middleware.base.process_request(request)
:abstractmethod:
:async:

Process a request.

param request:

The request to process.

returns:

The processed request.

apifrom.middleware.base.process_response(response)
:abstractmethod:
:async:

Process a response.

param response:

The response to process.

returns:

The processed response.

Middleware(app, dispatch = None):bases: starlette.middleware.base.BaseHTTPMiddleware, BaseMiddleware

Middleware class for APIFromAnything.

This class implements the BaseMiddleware interface and extends Starlette’s BaseHTTPMiddleware to provide a middleware component that can be used with Starlette.

Initialize a new BaseMiddleware instance.

param **options:

Options for the middleware.

apifrom.middleware.base.dispatch(request, call_next)
:async:

Dispatch a request.

This method is called by Starlette to process a request.

param request:

The request to process.

param call_next:

A function to call the next middleware or route handler.

returns:

The response.

apifrom.middleware.base.process_request(request)
:abstractmethod:
:async:

Process a request before it is handled by the API.

param request:

The request to process.

returns:

The processed request.

apifrom.middleware.base.process_response(response)
:async:

Process a response after it is handled by the API.

param response:

The response to process.

returns:

The processed response.