chore: add verel protection bypass for staging environments

This commit is contained in:
Soumyadas15 2025-07-03 14:13:36 +05:30
parent 974febad44
commit 8b58e2b69b
2 changed files with 7 additions and 7 deletions

View File

@ -46,6 +46,10 @@ class ScheduleTriggerProvider(TriggerProvider):
async def setup_trigger(self, trigger_config: TriggerConfig) -> bool:
"""Set up scheduled trigger using QStash."""
if config.ENV_MODE == EnvMode.STAGING:
vercel_bypass_key = os.getenv("VERCEL_PROTECTION_BYPASS_KEY", "")
else:
vercel_bypass_key = ""
try:
webhook_url = f"{self.webhook_base_url}/api/triggers/qstash/webhook"
webhook_payload = {
@ -66,7 +70,8 @@ class ScheduleTriggerProvider(TriggerProvider):
"Content-Type": "application/json",
"X-Schedule-Provider": "qstash",
"X-Trigger-ID": trigger_config.trigger_id,
"X-Agent-ID": trigger_config.agent_id
"X-Agent-ID": trigger_config.agent_id,
"X-Vercel-Protection-Bypass": vercel_bypass_key
},
retries=3,
delay="5s"

View File

@ -2,8 +2,6 @@ import { NextRequest, NextResponse } from 'next/server';
export async function POST(request: NextRequest) {
try {
console.log(`[QStash Webhook Proxy] Received QStash webhook`);
const body = await request.arrayBuffer();
const headers: Record<string, string> = {};
request.headers.forEach((value, key) => {
@ -11,9 +9,8 @@ export async function POST(request: NextRequest) {
headers[key] = value;
}
});
const backendUrl = process.env.BACKEND_URL || 'http://localhost:8000';
const targetUrl = `${backendUrl}/api/triggers/qstash/webhook`;
const targetUrl = `${backendUrl}/triggers/qstash/webhook`;
const response = await fetch(targetUrl, {
method: 'POST',
headers: {
@ -22,7 +19,6 @@ export async function POST(request: NextRequest) {
},
body: body,
});
const responseData = await response.text();
return new NextResponse(responseData, {
status: response.status,
@ -30,7 +26,6 @@ export async function POST(request: NextRequest) {
'Content-Type': response.headers.get('Content-Type') || 'application/json',
},
});
} catch (error) {
console.error('[QStash Webhook Proxy] Error:', error);
return NextResponse.json(