17 lines
488 B
Python
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 |