1188b91360c1eda95fca805e895436e6ecf2e99b1f383d6439f421a51c65d3fe.json 31 KB

1
  1. {"nodes": [{"id": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "label": "api_crypto_middleware.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L1"}, {"id": "core_api_crypto_middleware_nonce_key", "label": "_nonce_key()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L28"}, {"id": "core_api_crypto_middleware_should_skip_path", "label": "_should_skip_path()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L32"}, {"id": "core_api_crypto_middleware_is_web_api", "label": "_is_web_api()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L37"}, {"id": "core_api_crypto_middleware_claims_from_auth", "label": "_claims_from_auth()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L41"}, {"id": "core_api_crypto_middleware_get_redis_client", "label": "_get_redis_client()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L59"}, {"id": "core_api_crypto_middleware_mark_nonce_once", "label": "_mark_nonce_once()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L76"}, {"id": "core_api_crypto_middleware_json_error_response", "label": "_json_error_response()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L98"}, {"id": "core_api_crypto_middleware_apicryptomiddleware", "label": "ApiCryptoMiddleware", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L103"}, {"id": "basehttpmiddleware", "label": "BaseHTTPMiddleware", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "label": ".dispatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L104"}], "edges": [{"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "time", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "urllib_parse", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "redis_asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "jose", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "redis", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "starlette_middleware_base", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "starlette_requests", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "starlette_responses", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "app_core", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "app_core_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_nonce_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_should_skip_path", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_is_web_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_claims_from_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L41", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_get_redis_client", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L59", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_mark_nonce_once", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L76", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_json_error_response", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L98", "weight": 1.0}, {"source": "users_wuzilong_work_00code_sqxp_2_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_apicryptomiddleware", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L103", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware", "target": "basehttpmiddleware", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L103", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware", "target": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L104", "weight": 1.0}, {"source": "core_api_crypto_middleware_mark_nonce_once", "target": "core_api_crypto_middleware_nonce_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L78", "weight": 1.0}, {"source": "core_api_crypto_middleware_mark_nonce_once", "target": "core_api_crypto_middleware_get_redis_client", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L79", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "target": "core_api_crypto_middleware_json_error_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L111", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "target": "core_api_crypto_middleware_is_web_api", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L113", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "target": "core_api_crypto_middleware_should_skip_path", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L113", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "target": "core_api_crypto_middleware_claims_from_auth", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L135", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "target": "core_api_crypto_middleware_mark_nonce_once", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L148", "weight": 1.0}], "raw_calls": [{"caller_nid": "core_api_crypto_middleware_should_skip_path", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L33"}, {"caller_nid": "core_api_crypto_middleware_should_skip_path", "callee": "split", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L33"}, {"caller_nid": "core_api_crypto_middleware_should_skip_path", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L33"}, {"caller_nid": "core_api_crypto_middleware_is_web_api", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L38"}, {"caller_nid": "core_api_crypto_middleware_claims_from_auth", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L42"}, {"caller_nid": "core_api_crypto_middleware_claims_from_auth", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L44"}, {"caller_nid": "core_api_crypto_middleware_claims_from_auth", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L48"}, {"caller_nid": "core_api_crypto_middleware_claims_from_auth", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L54"}, {"caller_nid": "core_api_crypto_middleware_get_redis_client", "callee": "Redis", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L64"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "max", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L77"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L77"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "wait_for", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L82"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "set", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L82"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "bool", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L83"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L85"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "time", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L87"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "items", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L89"}, {"caller_nid": "core_api_crypto_middleware_mark_nonce_once", "callee": "pop", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L91"}, {"caller_nid": "core_api_crypto_middleware_json_error_response", "callee": "error_response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L99"}, {"caller_nid": "core_api_crypto_middleware_json_error_response", "callee": "Response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L100"}, {"caller_nid": "core_api_crypto_middleware_json_error_response", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L100"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L106"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L109"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L110"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L114"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L116"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L116"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L118"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "body", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L120"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L124"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L124"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L125"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L130"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L130"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "info", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L132"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L133"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L135"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L139"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L140"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L141"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L142"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L143"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "is_ts_in_window", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L145"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L145"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L146"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L148"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L148"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L149"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "derive_key", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L152"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L154"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L155"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L156"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "decrypt_json", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L159"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L161"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L164"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L164"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L165"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L166"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "encode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L171"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "urlencode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L171"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "encode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L174"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L174"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "Request", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L179"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L180"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L182"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L182"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "hasattr", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L188"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "append", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L191"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "join", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L192"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L193"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L199"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L199"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L200"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L206"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "time", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L206"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "gen_nonce_hex", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L207"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "derive_key", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L208"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L210"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "encrypt_json", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L214"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L216"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L223"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "items", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L227"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L227"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "Response", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L228"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L229"}]}