Files
tfm_ainventory/graphify-out/cache/9c99f3620337cc402aee648990c56a5bd5ae8c57f73864ddcbd1870c84dce0d1.json

1 line
43 KiB
JSON

{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "label": "extension.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L1"}, {"id": "extension_c", "label": "C", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L45"}, {"id": "extension_headers", "label": "HEADERS", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L65"}, {"id": "extension_rate_limit_exceeded_handler", "label": "_rate_limit_exceeded_handler()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L75"}, {"id": "extension_limiter", "label": "Limiter", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L89"}, {"id": "extension_limiter_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L129"}, {"id": "extension_limiter_slowapi_startup", "label": ".slowapi_startup()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L328"}, {"id": "extension_limiter_get_app_config", "label": ".get_app_config()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L335"}, {"id": "extension_limiter_should_check_backend", "label": ".__should_check_backend()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L345"}, {"id": "extension_limiter_reset", "label": ".reset()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L354"}, {"id": "extension_limiter_inject_headers", "label": "._inject_headers()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L377"}, {"id": "extension_limiter_inject_asgi_headers", "label": "._inject_asgi_headers()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L430"}, {"id": "extension_limiter_evaluate_limits", "label": ".__evaluate_limits()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L482"}, {"id": "extension_limiter_determine_retry_time", "label": "._determine_retry_time()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L530"}, {"id": "extension_limiter_check_request_limit", "label": "._check_request_limit()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L550"}, {"id": "extension_limiter_limit_decorator", "label": ".__limit_decorator()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L647"}, {"id": "extension_limiter_limit", "label": ".limit()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L783"}, {"id": "extension_limiter_shared_limit", "label": ".shared_limit()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L823"}, {"id": "extension_limiter_exempt", "label": ".exempt()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L864"}, {"id": "extension_rationale_1", "label": "The starlette extension to rate-limit requests", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L1"}, {"id": "extension_rationale_76", "label": "Build a simple JSON response that includes the details of the rate limit tha", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L76"}, {"id": "extension_rationale_90", "label": "Initializes the slowapi rate limiter. ** parameter ** * **app**: `Star", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L90"}, {"id": "extension_rationale_149", "label": "Configure the rate limiter at app level", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L149"}, {"id": "extension_rationale_329", "label": "Starlette startup event handler that links the app with the Limiter instance.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L329"}, {"id": "extension_rationale_336", "label": "Place holder until we find a better way to load config from app", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L336"}, {"id": "extension_rationale_355", "label": "resets the storage if it supports being reset", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L355"}, {"id": "extension_rationale_366", "label": "The backend that keeps track of consumption of endpoints vs limits", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L366"}, {"id": "extension_rationale_433", "label": "Injects 'X-RateLimit-Reset', 'X-RateLimit-Remaining', 'X-RateLimit-Limit'", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L433"}, {"id": "extension_rationale_556", "label": "Determine if the request is within limits", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L556"}, {"id": "extension_rationale_794", "label": "Decorator to be used for rate limiting individual routes. * **limit_val", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L794"}, {"id": "extension_rationale_833", "label": "Decorator to be applied to multiple routes sharing the same rate limit.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L833"}, {"id": "extension_rationale_865", "label": "Decorator to mark a view as exempt from rate limits.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L865"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L4", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "functools", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L5", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "inspect", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "itertools", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L7", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L8", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "os", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "time", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "email_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "functools", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L13", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L14", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "limits", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L26", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "limits_errors", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L27", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "limits_storage", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L28", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "limits_strategies", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L29", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "starlette_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L30", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "starlette_datastructures", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L31", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "starlette_requests", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L32", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "starlette_responses", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L33", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L34", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "backend_venv_lib_python3_12_site_packages_slowapi_errors_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L36", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "backend_venv_lib_python3_12_site_packages_slowapi_wrappers_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L37", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "extension_c", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L45", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "extension_headers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L65", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "extension_rate_limit_exceeded_handler", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L75", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "extension_limiter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L89", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L129", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_slowapi_startup", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L328", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_get_app_config", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L335", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_should_check_backend", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L345", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_reset", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L354", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "target": "extension_limiter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L365", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_inject_headers", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L377", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_inject_asgi_headers", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L430", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_evaluate_limits", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L482", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_determine_retry_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L530", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_check_request_limit", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L550", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_limit_decorator", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L647", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_limit", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L783", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_shared_limit", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L823", "weight": 1.0}, {"source": "extension_limiter", "target": "extension_limiter_exempt", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L864", "weight": 1.0}, {"source": "extension_rate_limit_exceeded_handler", "target": "extension_limiter_inject_headers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L83", "weight": 1.0}, {"source": "extension_limiter_init", "target": "extension_limiter_get_app_config", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L234", "weight": 1.0}, {"source": "extension_limiter_inject_headers", "target": "extension_limiter_determine_retry_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L405", "weight": 1.0}, {"source": "extension_limiter_inject_asgi_headers", "target": "extension_limiter_determine_retry_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L457", "weight": 1.0}, {"source": "extension_limiter_check_request_limit", "target": "extension_limiter_should_check_backend", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L603", "weight": 1.0}, {"source": "extension_limiter_check_request_limit", "target": "extension_limiter_evaluate_limits", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L630", "weight": 1.0}, {"source": "extension_limiter_limit", "target": "extension_limiter_limit_decorator", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L812", "weight": 1.0}, {"source": "extension_limiter_shared_limit", "target": "extension_limiter_limit_decorator", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L853", "weight": 1.0}, {"source": "extension_rationale_1", "target": "backend_venv_lib_python3_12_site_packages_slowapi_extension_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L1", "weight": 1.0}, {"source": "extension_rationale_76", "target": "extension_rate_limit_exceeded_handler", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L76", "weight": 1.0}, {"source": "extension_rationale_90", "target": "extension_limiter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L90", "weight": 1.0}, {"source": "extension_rationale_149", "target": "extension_limiter_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L149", "weight": 1.0}, {"source": "extension_rationale_329", "target": "extension_limiter_slowapi_startup", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L329", "weight": 1.0}, {"source": "extension_rationale_336", "target": "extension_limiter_get_app_config", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L336", "weight": 1.0}, {"source": "extension_rationale_355", "target": "extension_limiter_reset", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L355", "weight": 1.0}, {"source": "extension_rationale_366", "target": "extension_limiter_limiter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L366", "weight": 1.0}, {"source": "extension_rationale_433", "target": "extension_limiter_inject_asgi_headers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L433", "weight": 1.0}, {"source": "extension_rationale_556", "target": "extension_limiter_check_request_limit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L556", "weight": 1.0}, {"source": "extension_rationale_794", "target": "extension_limiter_limit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L794", "weight": 1.0}, {"source": "extension_rationale_833", "target": "extension_limiter_shared_limit", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L833", "weight": 1.0}, {"source": "extension_rationale_865", "target": "extension_limiter_exempt", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L865", "weight": 1.0}], "raw_calls": [{"caller_nid": "extension_rate_limit_exceeded_handler", "callee": "JSONResponse", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L80"}, {"caller_nid": "extension_limiter_init", "callee": "getLogger", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L156"}, {"caller_nid": "extension_limiter_init", "callee": "isfile", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L158"}, {"caller_nid": "extension_limiter_init", "callee": "Config", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L159"}, {"caller_nid": "extension_limiter_init", "callee": "len", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L170"}, {"caller_nid": "extension_limiter_init", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L172"}, {"caller_nid": "extension_limiter_init", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L187"}, {"caller_nid": "extension_limiter_init", "callee": "extend", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L188"}, {"caller_nid": "extension_limiter_init", "callee": "LimitGroup", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L190"}, {"caller_nid": "extension_limiter_init", "callee": "extend", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L196"}, {"caller_nid": "extension_limiter_init", "callee": "LimitGroup", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L198"}, {"caller_nid": "extension_limiter_init", "callee": "extend", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L212"}, {"caller_nid": "extension_limiter_init", "callee": "LimitGroup", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L214"}, {"caller_nid": "extension_limiter_init", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L225"}, {"caller_nid": "extension_limiter_init", "callee": "addHandler", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L232"}, {"caller_nid": "extension_limiter_init", "callee": "BlackHoleHandler", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L232"}, {"caller_nid": "extension_limiter_init", "callee": "update", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L241"}, {"caller_nid": "extension_limiter_init", "callee": "storage_from_string", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L242"}, {"caller_nid": "extension_limiter_init", "callee": "ConfigurationError", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L248"}, {"caller_nid": "extension_limiter_init", "callee": "STRATEGIES[strategy]", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L249"}, {"caller_nid": "extension_limiter_init", "callee": "update", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L250"}, {"caller_nid": "extension_limiter_init", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L252"}, {"caller_nid": "extension_limiter_init", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L256"}, {"caller_nid": "extension_limiter_init", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L260"}, {"caller_nid": "extension_limiter_init", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L264"}, {"caller_nid": "extension_limiter_init", "callee": "LimitGroup", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L279"}, {"caller_nid": "extension_limiter_init", "callee": "LimitGroup", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L297"}, {"caller_nid": "extension_limiter_init", "callee": "LimitGroup", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L307"}, {"caller_nid": "extension_limiter_init", "callee": "len", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L321"}, {"caller_nid": "extension_limiter_init", "callee": "MemoryStorage", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L325"}, {"caller_nid": "extension_limiter_init", "callee": "STRATEGIES[strategy]", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L326"}, {"caller_nid": "extension_limiter_slowapi_startup", "callee": "add_exception_handler", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L333"}, {"caller_nid": "extension_limiter_get_app_config", "callee": "app_config", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L340"}, {"caller_nid": "extension_limiter_get_app_config", "callee": "type", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L340"}, {"caller_nid": "extension_limiter_get_app_config", "callee": "app_config", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L342"}, {"caller_nid": "extension_limiter_should_check_backend", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L348"}, {"caller_nid": "extension_limiter_should_check_backend", "callee": "pow", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L348"}, {"caller_nid": "extension_limiter_should_check_backend", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L349"}, {"caller_nid": "extension_limiter_reset", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L360"}, {"caller_nid": "extension_limiter_reset", "callee": "warning", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L362"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L381"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "Exception", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L382"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "get_window_stats", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L386"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L390"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L391"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L393"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L394"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L396"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L397"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L401"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "max", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L404"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "formatdate", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L410"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L412"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L412"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L412"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "warning", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L416"}, {"caller_nid": "extension_limiter_inject_headers", "callee": "exception", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L423"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "get_window_stats", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L442"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L446"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L449"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L450"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L453"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "max", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L456"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "formatdate", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L462"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "str", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L464"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L464"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L464"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "warning", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L468"}, {"caller_nid": "extension_limiter_inject_asgi_headers", "callee": "exception", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L475"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "lower", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L491"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "keys", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L496"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "signature", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L496"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "key_func", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L497"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "key_func", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L499"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "all", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L502"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "cost", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L508"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "callable", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L508"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "hit", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L509"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "warning", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L510"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "error", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L520"}, {"caller_nid": "extension_limiter_evaluate_limits", "callee": "RateLimitExceeded", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L528"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "parsedate_to_datetime", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L532"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L539"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "mktime", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L539"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "timetuple", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L539"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L542"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "ValueError", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L544"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "int", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L548"}, {"caller_nid": "extension_limiter_determine_retry_time", "callee": "time", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L548"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "any", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L573"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "fn", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L573"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "extend", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L589"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L589"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "with_request", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L589"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "error", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L591"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "check", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L603"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L604"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L608"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "chain", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L608"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L612"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "chain", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L612"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "all", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L617"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L628"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "chain", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L628"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L632"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "warn", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L635"}, {"caller_nid": "extension_limiter_check_request_limit", "callee": "exception", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L643"}, {"caller_nid": "extension_limiter_exempt", "callee": "add", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L870"}, {"caller_nid": "extension_limiter_exempt", "callee": "iscoroutinefunction", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L872"}, {"caller_nid": "extension_limiter_exempt", "callee": "wraps", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L874"}, {"caller_nid": "extension_limiter_exempt", "callee": "wraps", "source_file": "backend/venv/lib/python3.12/site-packages/slowapi/extension.py", "source_location": "L881"}]}