INNER CODE UNIT · Python

analyze_api

stanfrbd/cyberbro · app.py:412

def analyze_api() -> tuple[Response, int]:
    """Handle the analyze request via API with caching and hashing."""
    data: dict = request.get_json()
    form_data: str = ioc_fanger.fang(data.get("text", ""))
    selected_engines: list[str] = data.get("engines", [])
    ignore_cache: bool = data.get("ignore_cache", False)

    # Generate a secure hash for form data and engines using SHA-256
    combined_data: str = f"{form_data}|{','.join(selected_engines)}"
    cache_key: str = f"api-analyze-{hashlib.sha256(combined_data.encode('utf-8')).hexdigest()}"

    if not ignore_cache:
        # Check cache
        cached_result: str | None = cache.get(cache_key)
        if cached_result:
            logger.debug(f"Cache hit: {cache_key}")
            logger.debug(f"Cached result: {cached_result}")
            return jsonify(cached_result), 200

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…