mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-04 04:40:38 +08:00
Merge pull request #955 from Codium-ai/ok/github_background
Github: work in background
This commit is contained in:
@ -7,6 +7,7 @@ from typing import Any, Dict, Tuple
|
|||||||
|
|
||||||
import uvicorn
|
import uvicorn
|
||||||
from fastapi import APIRouter, FastAPI, HTTPException, Request, Response
|
from fastapi import APIRouter, FastAPI, HTTPException, Request, Response
|
||||||
|
from starlette.background import BackgroundTasks
|
||||||
from starlette.middleware import Middleware
|
from starlette.middleware import Middleware
|
||||||
from starlette_context import context
|
from starlette_context import context
|
||||||
from starlette_context.middleware import RawContextMiddleware
|
from starlette_context.middleware import RawContextMiddleware
|
||||||
@ -34,7 +35,7 @@ router = APIRouter()
|
|||||||
|
|
||||||
|
|
||||||
@router.post("/api/v1/github_webhooks")
|
@router.post("/api/v1/github_webhooks")
|
||||||
async def handle_github_webhooks(request: Request, response: Response):
|
async def handle_github_webhooks(background_tasks: BackgroundTasks, request: Request, response: Response):
|
||||||
"""
|
"""
|
||||||
Receives and processes incoming GitHub webhook requests.
|
Receives and processes incoming GitHub webhook requests.
|
||||||
Verifies the request signature, parses the request body, and passes it to the handle_request function for further
|
Verifies the request signature, parses the request body, and passes it to the handle_request function for further
|
||||||
@ -48,8 +49,8 @@ async def handle_github_webhooks(request: Request, response: Response):
|
|||||||
context["installation_id"] = installation_id
|
context["installation_id"] = installation_id
|
||||||
context["settings"] = copy.deepcopy(global_settings)
|
context["settings"] = copy.deepcopy(global_settings)
|
||||||
|
|
||||||
response = await handle_request(body, event=request.headers.get("X-GitHub-Event", None))
|
background_tasks.add_task(handle_request, body, event=request.headers.get("X-GitHub-Event", None))
|
||||||
return response or {}
|
return {}
|
||||||
|
|
||||||
|
|
||||||
@router.post("/api/v1/marketplace_webhooks")
|
@router.post("/api/v1/marketplace_webhooks")
|
||||||
|
Reference in New Issue
Block a user