ChainOfResponsibility API Documentation

class Handler[source]

Bases: ABC

Abstract Handler interface for processing requests in the chain.

__init__()[source]

Initializes the handler with no next handler in the chain.

set_next(handler)[source]

Sets the next handler in the chain.

Parameters:

handler (Handler) – The next handler.

Return type:

Handler

Returns:

The handler itself, to allow method chaining.

abstractmethod handle_request(request)[source]

Handles the request or forwards it to the next handler.

Parameters:

request (str) – The request to handle.

Return type:

None

class AbstractHandler[source]

Bases: Handler

Abstract base class that implements the chaining mechanism.

handle_request(request)[source]

Forwards the request to the next handler if available.

Parameters:

request (str) – The request to handle.

Return type:

None

class ConcreteHandlerA[source]

Bases: AbstractHandler

A concrete handler that processes requests matching ‘A’.

handle_request(request)[source]

Handles the request if applicable or forwards it to the next handler.

Parameters:

request (str) – The request to handle.

Return type:

None

class ConcreteHandlerB[source]

Bases: AbstractHandler

A concrete handler that processes requests matching ‘B’.

handle_request(request)[source]

Handles the request if it matches ‘B’, otherwise forwards it to the next handler.

Parameters:

request (str) – The request to handle.

Return type:

None