mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
Co-authored-by: openhands <openhands@all-hands.dev> Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from fastapi import (
|
|
APIRouter,
|
|
Depends,
|
|
HTTPException,
|
|
Request,
|
|
Response,
|
|
status,
|
|
)
|
|
|
|
from openhands.server.dependencies import get_dependencies
|
|
from openhands.server.session.conversation import ServerConversation
|
|
from openhands.server.utils import get_conversation
|
|
|
|
app = APIRouter(
|
|
prefix='/api/conversations/{conversation_id}', dependencies=get_dependencies()
|
|
)
|
|
|
|
|
|
@app.route('/security/{path:path}', methods=['GET', 'POST', 'PUT', 'DELETE'])
|
|
async def security_api(
|
|
request: Request, conversation: ServerConversation = Depends(get_conversation)
|
|
) -> Response:
|
|
"""Catch-all route for security analyzer API requests.
|
|
|
|
Each request is handled directly to the security analyzer.
|
|
|
|
Args:
|
|
request (Request): The incoming FastAPI request object.
|
|
|
|
Returns:
|
|
Response: The response from the security analyzer.
|
|
|
|
Raises:
|
|
HTTPException: If the security analyzer is not initialized.
|
|
"""
|
|
if not conversation.security_analyzer:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_404_NOT_FOUND,
|
|
detail='Security analyzer not initialized',
|
|
)
|
|
|
|
return await conversation.security_analyzer.handle_api_request(request)
|