This repository was archived by the owner on Nov 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathservice_unavailable.py
More file actions
51 lines (37 loc) · 1.48 KB
/
service_unavailable.py
File metadata and controls
51 lines (37 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from typing import Optional
from flask_utils.errors.base_class import _BaseFlaskException
class ServiceUnavailableError(_BaseFlaskException):
"""This is the ServiceUnavailableError exception class.
When raised, it will return a 503 status code with the message and solution provided.
:param msg: The message to be displayed in the error.
:type msg: str
:param solution: The solution to the error.
:type solution: Optional[str]
:Example:
.. code-block:: python
from flask_utils.errors import ServiceUnavailableError
# Inside a Flask route
@app.route('/example', methods=['POST'])
def example_route():
...
if some_condition:
raise ServiceUnavailableError("This is a service unavailable error.")
The above code would return the following JSON response from Flask:
.. code-block:: json
{
"success": false,
"error": {
"type": "ServiceUnavailableError",
"name": "Service Unavailable",
"message": "This is a service unavailable error.",
"solution": "Try again later."
},
"code": 503
}
.. versionadded:: 0.1.0
"""
def __init__(self, msg: str, solution: Optional[str] = "Try again later.") -> None:
self.name = "Service Unavailable"
self.msg = msg
self.solution = solution
self.status_code = 503