diff --git a/package.json b/package.json index 7d5f92d..21a23f4 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,11 @@ "type": "number", "default": 3000, "description": "Port for the Express server." + }, + "copilotProxy.payloadLimit": { + "type": "string", + "default": "50mb", + "description": "Maximum payload size for incoming requests (e.g., '50mb', '100mb')." } } }, diff --git a/src/extension.ts b/src/extension.ts index da515b0..5ea27e4 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -45,9 +45,12 @@ export function activate(context: vscode.ExtensionContext) { context.subscriptions.push( vscode.commands.registerCommand('Copilot Proxy - Start Server', () => { if (!serverInstance) { - const configPort = vscode.workspace.getConfiguration("copilotProxy").get("port", 3000); + const config = vscode.workspace.getConfiguration("copilotProxy"); + const configPort = config.get("port", 3000); + const payloadLimit = config.get("payloadLimit", "50mb"); + process.env.PAYLOAD_LIMIT = payloadLimit; serverInstance = startServer(configPort); - vscode.window.showInformationMessage(`Express server started on port ${configPort}.`); + vscode.window.showInformationMessage(`Express server started on port ${configPort} with ${payloadLimit} payload limit.`); } else { vscode.window.showInformationMessage('Express server is already running.'); } diff --git a/src/server.ts b/src/server.ts index df2eee2..68e340f 100644 --- a/src/server.ts +++ b/src/server.ts @@ -9,8 +9,17 @@ dotenv.config(); const app = express(); -// Middleware to parse JSON bodies -app.use(express.json()); +// Middleware to parse JSON bodies with configurable limit + +// Logger middleware +app.use(morgan('combined')); +======= +const payloadLimit = process.env.PAYLOAD_LIMIT || '50mb'; +app.use(express.json({ limit: payloadLimit })); + +// Logger middleware +app.use(morgan('combined')); +======= // Logger middleware app.use(morgan('combined'));