Presentation Adapter¶
presentation_adapter
¶
Orchestrator that wires transport adapters to a use case with error handling.
PresentationAdapter handles both returned Err and raised
Exception / Error, so callers may choose their error-signalling
style without changing the adapter.
PresentationAdapter
¶
Orchestrates the full request/response lifecycle for a use case.
Usage::
adapter = PresentationAdapter(
use_case=create_order_use_case,
request_adapter=JsonRequestAdapter(),
response_adapter=JsonResponseAdapter(),
error_presenter=ErrorPresenter(),
)
response = await adapter.handle(http_request)
Source code in src/forging_blocks/presentation/presentation_adapter.py
__init__(use_case: UseCase[UseCaseInput, UseCaseOutput], request_adapter: RequestAdapter[RawRequest, UseCaseInput], response_adapter: ResponseAdapter[UseCaseOutput, RawResponse], error_presenter: ErrorPresenter | None = None) -> None
¶
Wire the adapter with its collaborators.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
use_case
|
UseCase[UseCaseInput, UseCaseOutput]
|
The application use case to invoke. |
required |
request_adapter
|
RequestAdapter[RawRequest, UseCaseInput]
|
Translates transport requests into |
required |
response_adapter
|
ResponseAdapter[UseCaseOutput, RawResponse]
|
Translates use-case output into |
required |
error_presenter
|
ErrorPresenter | None
|
Optional error formatter. When omitted, |
None
|
Source code in src/forging_blocks/presentation/presentation_adapter.py
handle(raw_request: RawRequest) -> RawResponse
async
¶
Process raw_request through the full lifecycle.
Handles both Result.Err (if the use case returns a
Result) and raised exceptions so callers may choose
their preferred error style.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
raw_request
|
RawRequest
|
The transport-level request. |
required |
Returns:
| Type | Description |
|---|---|
RawResponse
|
A transport-level response (success or error, depending |
RawResponse
|
on the outcome). |
Raises:
| Type | Description |
|---|---|
Exception
|
When error_presenter is |