internal 0.1.48__tar.gz → 0.1.49__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of internal might be problematic. Click here for more details.

Files changed (28) hide show
  1. {internal-0.1.48 → internal-0.1.49}/PKG-INFO +1 -1
  2. {internal-0.1.48 → internal-0.1.49}/pyproject.toml +1 -1
  3. {internal-0.1.48 → internal-0.1.49}/src/internal/base_factory.py +13 -16
  4. {internal-0.1.48 → internal-0.1.49}/README.md +0 -0
  5. {internal-0.1.48 → internal-0.1.49}/src/internal/__init__.py +0 -0
  6. {internal-0.1.48 → internal-0.1.49}/src/internal/base_config.py +0 -0
  7. {internal-0.1.48 → internal-0.1.49}/src/internal/const.py +0 -0
  8. {internal-0.1.48 → internal-0.1.49}/src/internal/database.py +0 -0
  9. {internal-0.1.48 → internal-0.1.49}/src/internal/exception/__init__.py +0 -0
  10. {internal-0.1.48 → internal-0.1.49}/src/internal/exception/base_exception.py +0 -0
  11. {internal-0.1.48 → internal-0.1.49}/src/internal/exception/internal_exception.py +0 -0
  12. {internal-0.1.48 → internal-0.1.49}/src/internal/ext/__init__.py +0 -0
  13. {internal-0.1.48 → internal-0.1.49}/src/internal/ext/amazon/__init__.py +0 -0
  14. {internal-0.1.48 → internal-0.1.49}/src/internal/ext/amazon/aws/__init__.py +0 -0
  15. {internal-0.1.48 → internal-0.1.49}/src/internal/ext/amazon/aws/const.py +0 -0
  16. {internal-0.1.48 → internal-0.1.49}/src/internal/http/__init__.py +0 -0
  17. {internal-0.1.48 → internal-0.1.49}/src/internal/http/requests.py +0 -0
  18. {internal-0.1.48 → internal-0.1.49}/src/internal/http/responses.py +0 -0
  19. {internal-0.1.48 → internal-0.1.49}/src/internal/interface/__init__.py +0 -0
  20. {internal-0.1.48 → internal-0.1.49}/src/internal/interface/base_interface.py +0 -0
  21. {internal-0.1.48 → internal-0.1.49}/src/internal/jwt/__init__.py +0 -0
  22. {internal-0.1.48 → internal-0.1.49}/src/internal/jwt/const.py +0 -0
  23. {internal-0.1.48 → internal-0.1.49}/src/internal/jwt/interface.py +0 -0
  24. {internal-0.1.48 → internal-0.1.49}/src/internal/jwt/service.py +0 -0
  25. {internal-0.1.48 → internal-0.1.49}/src/internal/model/__init__.py +0 -0
  26. {internal-0.1.48 → internal-0.1.49}/src/internal/model/base_model.py +0 -0
  27. {internal-0.1.48 → internal-0.1.49}/src/internal/model/operate.py +0 -0
  28. {internal-0.1.48 → internal-0.1.49}/src/internal/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: internal
3
- Version: 0.1.48
3
+ Version: 0.1.49
4
4
  Summary:
5
5
  Author: Ray
6
6
  Author-email: ray@cruisys.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "internal"
3
- version = "0.1.48"
3
+ version = "0.1.49"
4
4
  description = ""
5
5
  authors = ["Ray <ray@cruisys.com>"]
6
6
  readme = "README.md"
@@ -9,7 +9,7 @@ from functools import lru_cache
9
9
  import dotenv
10
10
  import watchtower
11
11
  from beanie import init_beanie
12
- from fastapi import FastAPI, status
12
+ from fastapi import FastAPI, status, Request
13
13
  from fastapi.exceptions import RequestValidationError
14
14
  from fastapi.middleware.cors import CORSMiddleware
15
15
 
@@ -44,18 +44,6 @@ class BaseFactory(metaclass=ABCMeta):
44
44
  Each factory should define what config it wants.
45
45
  """
46
46
 
47
- async def process_exception(self, app, request, exc):
48
- if isinstance(exc, InternalBaseException):
49
- detail = exc.detail
50
- return await async_response(data=detail.data, code=detail.code, message=detail.message,
51
- status_code=exc.status_code)
52
- else:
53
- app.state.logger.warn(f"Exception, request:{request.__dict__}, exc:{exc}")
54
- app.state.logger.warn(traceback.format_exc())
55
- return await async_response(data={}, code="error_internal_server",
56
- message="Internal server error",
57
- status_code=status.HTTP_500_INTERNAL_SERVER_ERROR)
58
-
59
47
  def create_app(self, title=DEFAULT_APP_NAME) -> FastAPI:
60
48
  app = FastAPI(title=title, debug=self.get_app_config().DEBUG, version=self.API_VERSION)
61
49
 
@@ -95,15 +83,24 @@ class BaseFactory(metaclass=ABCMeta):
95
83
  self.__init_modules(app)
96
84
  self.__init_builtin_api(app)
97
85
 
86
+ @app.exception_handler(InternalBaseException)
87
+ async def http_exception_handler(request: Request, exc: InternalBaseException):
88
+ detail = exc.detail
89
+ return await async_response(data=detail.data, code=detail.code, message=detail.message,
90
+ status_code=exc.status_code)
91
+
98
92
  @app.exception_handler(RequestValidationError)
99
- async def validation_exception_handler(request, exc):
93
+ async def validation_exception_handler(request: Request, exc: RequestValidationError):
100
94
  return await async_response(data={"detail": exc.errors(), "body": exc.body},
101
95
  code="error_unprocessable_entity", message="Validation failed",
102
96
  status_code=status.HTTP_422_UNPROCESSABLE_ENTITY)
103
97
 
104
98
  @app.exception_handler(Exception)
105
- async def http_exception_handler(request, exc):
106
- await self.process_exception(app, request, exc)
99
+ async def http_exception_handler(request: Request, exc: Exception):
100
+ app.state.logger.warn(f"Exception, request:{request.__dict__}, exc:{exc}")
101
+ app.state.logger.warn(traceback.format_exc())
102
+ await async_response(code="error_internal_server", message="Internal server error",
103
+ status_code=status.HTTP_500_INTERNAL_SERVER_ERROR)
107
104
 
108
105
  return app
109
106
 
File without changes