add grafana formatter

This was initially designed and implemented in #4

Co-authored-by: Sven Seeberg <mail@sven-seeberg.de>
This commit is contained in:
Guilhem Saurel
2021-07-31 13:06:36 +02:00
parent 3bebc88ee2
commit 2d232fe1f7
3 changed files with 23 additions and 1 deletions

View File

@@ -16,7 +16,7 @@ from nio import AsyncClient
from nio.exceptions import LocalProtocolError
from nio.responses import RoomSendError
from . import conf
from . import conf, formatters
ERROR_MAP = {"M_FORBIDDEN": HTTPStatus.FORBIDDEN}
@@ -46,6 +46,12 @@ async def handler(request):
if "key" in request.rel_url.query and "key" not in data:
data["key"] = request.rel_url.query["key"]
if "formatter" in request.rel_url.query:
try:
data = getattr(formatters, request.rel_url.query["formatter"])(data)
except AttributeError:
return create_json_response(HTTPStatus.BAD_REQUEST, "Unknown formatter")
if not all(key in data for key in ["body", "key"]):
return create_json_response(
HTTPStatus.BAD_REQUEST, "Missing body and/or API key property"