FlaskStatus
It is a Flask extension to view incidents caused by the server.
This is handled based on the requests that users make. Captures the server response and uses the conditional expression to quickly classify whether the request was successful or failed.
Note: Updates every minute
Codes HTTP
Some of the HTTP states that the server takes into account are:
-
200 OK: Indicates that the request has been completed successfully. -
404 Not Found: Indicates that the requested resource is not available on the server. -
500 Internal Server Error: Indicates that an internal server error has occurred while processing the client request. -
502 Bad Gateway: Indicates that there is a communication error between servers, generally when one server acts as an intermediary and cannot obtain a valid response. -
503 Service Unavailable:Indicates that the server is currently unavailable, possibly due to maintenance or overload. -
504 Gateway Timeout: Indicates that the server has not received a timely response from an upstream server, which may indicate connectivity problems.
Install
pip install flask-server-status
Use
- Import and configure FlaskStatus in your Flask application. You need a database to record the logs.
from flask import Flask
from flask_server_status import FlaskStatus
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///tmp/status.db'
FlaskStatus(app)
You can configure which routes you want to be shown:
FlaskStatus(app, routes=['/'])
The default path is: /status. Although you can configure the route.
FlaskStatus(app, url_prefix='/status')
- Define routes. The use of docstring. It will be used to define the route name.
# <ROUTE NAME>
@app.route('/')
def index():
"""
# Index
""" # This is the docstring
return 'Welcome to API!', 200 # 200 is the status code
In case you have not defined the route name. By default, it will take the name of the endpoint role.
API
FlaskStatus comes with a built-in API to configure the routes that are generated in the database.
app.config['API_ENABLED'] = True
app.config['API_SECRET'] = 'tSx0L5exSjiPqqXs'
Endpoints
-
PUT /flask-status/configure: Allows you to modify a route.json={'rule': '/', 'name': 'Hello World!', 'doc': ''} -
DELETE /flask-status/configure: Allows you to delete a route.json={'rule': '/'}
Example
import requests
r = requests.delete('http://127.0.0.1:5000/flask-status/configure', headers={
'Authorization': 'Bearer tSx0L5exSjiPqqXs'
}, json={
'rule': '/'
})
Forked from
The page was built by Statsig's Open-Source Status Page.
Metadata
Release files for flask-server-status 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flask_server_status-0.0.4.tar.gz | 49.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flask_server_status-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 98.2 kB
Release files / flask_server_status-0.0.4.tar.gz
| Download URL | flask_server_status-0.0.4.tar.gz |
|---|---|
| Size | 49.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3564f5fc017ff22a769527dab484ee8f89fc1694b186772a5eb4d04f2ec0a49c
|
|
BLAKE2b-256 checksum How to use checksums |
d75c5c644460803370112e703c4c002b23f6f1171b302d6ce8385c1b486ba3a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.11.1 requests/2.32.3 setuptools/70.1.1 requests-toolbelt/1.0.0 tqdm/4.66.4 CPython/3.12.4
|
Release files / flask_server_status-0.0.4-py3-none-any.whl
| Download URL | flask_server_status-0.0.4-py3-none-any.whl |
|---|---|
| Size | 48.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
263401bcf1a4cbea4424066e58c6c7f9a8ad546f936af3840ba5febd4febdbdb
|
|
BLAKE2b-256 checksum How to use checksums |
a9ae62449e0e8d65632dd19929c090f865261f9341c9a29efa904878dfe66e86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.11.1 requests/2.32.3 setuptools/70.1.1 requests-toolbelt/1.0.0 tqdm/4.66.4 CPython/3.12.4
|