response.py 772 B

123456789101112131415161718192021222324
  1. from fastapi.responses import JSONResponse
  2. # class CustomJSONResponse(JSONResponse):
  3. #
  4. # def render(self, data: any) -> bytes:
  5. # return json.dumps(
  6. # {'code': 'success', 'data': data},
  7. # ensure_ascii=False,
  8. # allow_nan=False,
  9. # indent=None,
  10. # separators=(",", ":"),
  11. # ).encode("utf-8")
  12. class ErrorResponse(JSONResponse):
  13. def __init__(
  14. self, status_code: int, error_code: str, message: str = None, type_code: str = None, param: str = None
  15. ) -> None:
  16. super().__init__(
  17. status_code=status_code,
  18. # OpenAI style error response
  19. content={"error": {"code": error_code, "message": message, "type": type_code, "param": param}},
  20. )