Team Ai
Apppublic

Ratankumar10/code-execution-engine

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
execute.route.js48 linesDownload Raw Back to routes
1const express = require("express");2const router = express.Router();3const { validateExecution } = require("../middleware/validate.middleware");4const { rateLimiter } = require("../middleware/rateLimit.middleware");5const executorService = require("../services/executor.service");6const queueService = require("../services/queue.service");7const logger = require("../utils/logger.util");8 9// ─── POST /api/execute ───────────────────────10// Run code with stdin → get stdout, stderr, time, memory, verdict11router.post(12  "/execute",13  rateLimiter,14  validateExecution,15  async (req, res, next) => {16    try {17      const { language, code, input, timeLimit, memoryLimit } = req.body;18 19      logger.info(20        `📥 Execute request: lang=${language}, codeSize=${code.length}B, timeLimit=${timeLimit}s, memLimit=${memoryLimit}MB`,21      );22 23      const result = await queueService.enqueue(() =>24        executorService.execute({25          language,26          code,27          input,28          timeLimit,29          memoryLimit,30        }),31      );32 33      logger.info(34        `📤 Result: verdict=${result.verdict}, time=${result.executionTime}ms, memory=${result.memoryUsed}KB`,35      );36 37      res.json({38        success: true,39        data: result,40      });41    } catch (err) {42      next(err);43    }44  },45);46 47module.exports = router;48