security.py 831 B

123456789101112131415161718192021222324252627282930
  1. from fastapi import (
  2. APIRouter,
  3. HTTPException,
  4. Request,
  5. )
  6. app = APIRouter(prefix='/api')
  7. @app.route('/security/{path:path}', methods=['GET', 'POST', 'PUT', 'DELETE'])
  8. async def security_api(request: Request):
  9. """Catch-all route for security analyzer API requests.
  10. Each request is handled directly to the security analyzer.
  11. Args:
  12. request (Request): The incoming FastAPI request object.
  13. Returns:
  14. Any: The response from the security analyzer.
  15. Raises:
  16. HTTPException: If the security analyzer is not initialized.
  17. """
  18. if not request.state.conversation.security_analyzer:
  19. raise HTTPException(status_code=404, detail='Security analyzer not initialized')
  20. return await request.state.conversation.security_analyzer.handle_api_request(
  21. request
  22. )