22 lines
652 B
Python
22 lines
652 B
Python
![]() |
"""API response object."""
|
||
|
|
||
|
from __future__ import annotations
|
||
|
from typing import Optional, Generic, Mapping, TypeVar
|
||
|
from pydantic import Field, StrictInt, StrictBytes, BaseModel
|
||
|
|
||
|
T = TypeVar("T")
|
||
|
|
||
|
class ApiResponse(BaseModel, Generic[T]):
|
||
|
"""
|
||
|
API response object
|
||
|
"""
|
||
|
|
||
|
status_code: StrictInt = Field(description="HTTP status code")
|
||
|
headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers")
|
||
|
data: T = Field(description="Deserialized data given the data type")
|
||
|
raw_data: StrictBytes = Field(description="Raw data (HTTP response body)")
|
||
|
|
||
|
model_config = {
|
||
|
"arbitrary_types_allowed": True
|
||
|
}
|