diff --git a/src/models/response.py b/src/models/response.py new file mode 100644 index 0000000..017bbf0 --- /dev/null +++ b/src/models/response.py @@ -0,0 +1,26 @@ +from typing import Dict, Any, Optional +from pydantic import BaseModel, Field + + +class Response(BaseModel): + status_code: int = Field(default=200, description="HTTP status code") + body: Optional[Dict[str, Any]] = Field(default=None, description="Response body template") + headers: Optional[Dict[str, str]] = Field(default=None, description="Response headers") + delay: Optional[int] = Field(default=None, description="Response delay in milliseconds") + fixed: bool = Field(default=False, description="Whether response is fixed or templated") + + class Config: + json_schema_extra = { + "example": { + "status_code": 200, + "body": { + "message": "Success", + "data": "{{request.body}}" + }, + "headers": { + "Content-Type": "application/json", + "X-Request-Id": "{{uuid}}" + }, + "delay": 500 + } + }