17 lines
488 B
Python

from json import loads
from bottle import request
def read_keys_from_request(keys: None|dict = None):
result = {}
try:
body = request.body.read()
data = loads(body.decode('utf-8'))
except:
return result
if keys:
missing_keys = [key for key in keys if key not in data]
if missing_keys:
raise ValueError(f"Missing required keys: {', '.join(missing_keys)}")
data = {key: data[key] for key in keys}
return data