INNER CODE UNIT · Python
_read_json
Kounex/obs_blade · tool/kick_auth_proxy/proxy.py:315
def _read_json(self) -> dict:
length = int(self.headers.get("Content-Length", "0") or "0")
if length <= 0 or length > MAX_BODY:
raise ProxyError(400, "invalid_request")
raw = self.rfile.read(length)
try:
parsed = json.loads(raw.decode("utf-8"))
except json.JSONDecodeError as error:
raise ProxyError(400, "invalid_request") from error
if not isinstance(parsed, dict):
raise ProxyError(400, "invalid_request")
return {str(key): str(value) for key, value in parsed.items()}
def _query(self) -> dict[str, str]:
path, _, query = self.path.partition("?")
parsed = parse_qs(query, keep_blank_values=False)
return {key: values[0] for key, values in parsed.items() if values} | {
"_path": path