| 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_crypto_api", "label": "_is_crypto_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": "L43"}, {"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": "L61"}, {"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": "L78"}, {"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": "L100"}, {"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": "L105"}, {"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": "L106"}, {"id": "core_api_crypto_middleware_rationale_38", "label": "\u4ec5\u5bf9\u8fd0\u8425\u7aef\u4e0e\u5c0f\u7a0b\u5e8f\u4e1a\u52a1 API \u5e94\u7528\u7edf\u4e00\u5bc6\u6587\u534f\u8bae\u3002", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L38"}], "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_crypto_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": "L43", "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": "L61", "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": "L78", "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": "L100", "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": "L105", "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": "L105", "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": "L106", "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": "L80", "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": "L81", "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": "L113", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "target": "core_api_crypto_middleware_is_crypto_api", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L115", "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": "L115", "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": "L137", "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": "L150", "weight": 1.0}, {"source": "core_api_crypto_middleware_rationale_38", "target": "core_api_crypto_middleware_is_crypto_api", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L38", "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_crypto_api", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L40"}, {"caller_nid": "core_api_crypto_middleware_is_crypto_api", "callee": "startswith", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L40"}, {"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": "L44"}, {"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": "L46"}, {"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": "L50"}, {"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": "L56"}, {"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": "L66"}, {"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": "L79"}, {"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": "L79"}, {"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": "L84"}, {"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": "L84"}, {"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": "L85"}, {"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": "L87"}, {"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": "L89"}, {"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": "L91"}, {"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": "L93"}, {"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": "L101"}, {"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": "L102"}, {"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": "L102"}, {"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": "L108"}, {"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": "L111"}, {"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": "L112"}, {"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": "L116"}, {"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": "L118"}, {"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": "L118"}, {"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": "L120"}, {"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": "L122"}, {"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": "L126"}, {"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": "L126"}, {"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": "L127"}, {"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": "L132"}, {"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": "L132"}, {"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": "L134"}, {"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": "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": "L137"}, {"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": "get", "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": "get", "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": "isinstance", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L144"}, {"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": "L145"}, {"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": "L147"}, {"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": "L147"}, {"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": "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": "L150"}, {"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": "L150"}, {"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": "L151"}, {"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": "L154"}, {"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": "int", "source_file": "/Users/wuzilong/work/00code/sqxp_\u526f\u672c2/backend/app/core/api_crypto_middleware.py", "source_location": "L157"}, {"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": "L158"}, {"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": "L161"}, {"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": "L163"}, {"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": "L166"}, {"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": "L166"}, {"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": "L167"}, {"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": "L168"}, {"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": "L173"}, {"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": "L173"}, {"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": "L176"}, {"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": "L176"}, {"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": "L181"}, {"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": "L182"}, {"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": "L184"}, {"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": "L184"}, {"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": "L190"}, {"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": "L193"}, {"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": "L194"}, {"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": "L195"}, {"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": "L201"}, {"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": "L201"}, {"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": "L202"}, {"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": "L208"}, {"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": "L208"}, {"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": "L209"}, {"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": "L210"}, {"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": "L212"}, {"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": "L216"}, {"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": "L218"}, {"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": "L225"}, {"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": "L229"}, {"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": "L229"}, {"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": "L230"}, {"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": "L231"}]}
|