Files
shanxia2.0/backend/app/graphify-out/cache/ast/8492a697a4d2fa79067b0c1231860c54e0c8378bce80be71a9ce42ec6d83515e.json
T
2026-05-20 09:28:36 +08:00

1 line
38 KiB
JSON

{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "label": "api_crypto_middleware.py", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L100"}, {"id": "core_api_crypto_middleware_coerce_post_method_override_to_get", "label": "_coerce_post_method_override_to_get()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L105"}, {"id": "core_api_crypto_middleware_apicryptomiddleware", "label": "ApiCryptoMiddleware", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L151"}, {"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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L152"}, {"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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L38"}, {"id": "core_api_crypto_middleware_rationale_106", "label": "\u524d\u7aef Axios \u5728\u5f00\u542f\u52a0\u5bc6\u65f6\u4f1a\u628a GET \u6539\u4e3a POST \u5e76\u5e26 X-HTTP-Method-Override: GET\u3002 \u5f53\u540e\u7aef\u672a\u542f\u7528 API_EN", "file_type": "rationale", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L106"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "time", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "urllib_parse", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "redis_asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "jose", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "redis", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "starlette_middleware_base", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "starlette_requests", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "starlette_responses", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "app_core", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L18", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "app_core_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L19", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "app_core_response", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_nonce_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L32", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L61", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L78", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L100", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_coerce_post_method_override_to_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L105", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_backend_app_core_api_crypto_middleware_py", "target": "core_api_crypto_middleware_apicryptomiddleware", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L151", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware", "target": "basehttpmiddleware", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L151", "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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L152", "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/zkxw/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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L81", "weight": 1.0}, {"source": "core_api_crypto_middleware_coerce_post_method_override_to_get", "target": "core_api_crypto_middleware_json_error_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L127", "weight": 1.0}, {"source": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "target": "core_api_crypto_middleware_coerce_post_method_override_to_get", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L154", "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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L159", "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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L161", "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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L161", "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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L183", "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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L196", "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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L38", "weight": 1.0}, {"source": "core_api_crypto_middleware_rationale_106", "target": "core_api_crypto_middleware_coerce_post_method_override_to_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L106", "weight": 1.0}], "raw_calls": [{"caller_nid": "core_api_crypto_middleware_should_skip_path", "callee": "strip", "source_file": "/Users/wuzilong/work/00code/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L102"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L112"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L113"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L113"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L115"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "body", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L117"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L121"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L121"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L122"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L126"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L126"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L133"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L135"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L136"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L136"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "dict", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L137"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "parse_qsl", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L137"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L138"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L139"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L141"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "encode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L142"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "urlencode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L142"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "Request", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L147"}, {"caller_nid": "core_api_crypto_middleware_coerce_post_method_override_to_get", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L157"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L158"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L162"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/zkxw/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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L164"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L166"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "body", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L168"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L172"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L172"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L173"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L178"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L178"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "info", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L180"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L181"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L183"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L187"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L188"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L189"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L190"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L191"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "is_ts_in_window", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L193"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L193"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L194"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L196"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L196"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L197"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "derive_key", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L200"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/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/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L203"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L204"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "decrypt_json", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L207"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L209"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "upper", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L212"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L212"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L213"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L217"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "encode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L218"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "urlencode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L218"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L222"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "encode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L223"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L223"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "encode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L225"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L225"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "Request", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L230"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "call_next", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L231"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L233"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L233"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "hasattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L239"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L242"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "join", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L243"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "getattr", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L244"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "loads", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L250"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "decode", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L250"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "isinstance", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L251"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "int", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L257"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "time", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L257"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "gen_nonce_hex", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L258"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "derive_key", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L259"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "str", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L261"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "encrypt_json", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L265"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L267"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L274"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "items", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L278"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "lower", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L278"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "Response", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L279"}, {"caller_nid": "core_api_crypto_middleware_apicryptomiddleware_dispatch", "callee": "dumps", "source_file": "/Users/wuzilong/work/00code/zkxw/backend/app/core/api_crypto_middleware.py", "source_location": "L280"}]}