const express = require('express'); const Booru = require('booru'); const app = express(); app.use(express.json()); app.post('/booru', (req, res) => { const { booru, tags, random, limit } = req.body; // Validate input if (!booru || typeof booru !== 'string') { return res.status(400).json({ error: 'Invalid or missing "booru"' }); } if (!tags || !Array.isArray(tags)) { return res.status(400).json({ error: 'Invalid or missing "tags"' }); } if (!limit || typeof limit !== 'number') { return res.status(400).json({ error: 'Invalid or missing "limit"' }); } if (typeof random !== 'boolean') { return res.status(400).json({ error: 'Invalid or missing "random"' }); } Booru.search(booru, tags, { limit: limit, random: random }) .then(posts => { res.json(posts); }).catch(function(rej) { console.log(rej); res.status(400).json({ error: 'Booru returned an error' }); }); }); // Start the server const PORT = 3456; const HOST = '0.0.0.0' app.listen(PORT, HOST, () => { console.log(`Server is running on http://${HOST}:${PORT}`); });