mirror of
1
2
Fork 0
ucaptcha/src/routes/api/index.js

48 lines
1008 B
JavaScript

import express from 'express';
import path from 'path';
import initializeSession from './initializeSession.js';
import serveImage from './serveImage.js';
import verifyImage from './verifyImage.js';
import sendJson from '../../helpers/sendJson.js';
import {IMAGES_FOLDER} from '../../R.js';
const router = new express.Router();
router.get('/init', async (req, res)=>{
const websiteKey = req.query.k;
if (!websiteKey) {
res.end();
return;
}
const result = await initializeSession(websiteKey);
sendJson(res, result);
});
router.get('/image', async (req, res)=>{
const sessionId = req.query.s;
if (!sessionId) {
res.end();
return;
}
const [suspicious, filename] = await serveImage(sessionId);
if (suspicious) {
res.end();
return;
}
res.sendFile(path.join(IMAGES_FOLDER, filename));
});
router.post('/verify', async (req, res)=>{
const sessionId = req.body.s;
const mat = req.body.mat;
await verifyImage(sessionId, mat);
});
export default router;