Mbit Test

node v18.11.0
version: 3.0.0
endpointsharetweet
const express = require("@runkit/runkit/express-endpoint/1.0.0"); const cors = require('cors'); const { startsWith, endsWith, toNumber, head, toString } = require('lodash'); const startOfMinute = require('date-fns/startOfMinute'); const getUnixTime = require('date-fns/getUnixTime') const { inspect } = require('node:util'); // undefined;
Static Constants
const app = express(exports); const JSON_HEADERS = { key: 'Content-Type', value: 'application/json' }; /* const CORS_HEADERS = { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': '*', }; */ app.use(cors());
Storage
const PAGES= [ undefined, { "DE 333330560218": "https://start.mray.app/client/?item=1", "DE 418180058815": "https://start.mray.app/client/?item=2", "__nextpage__": true }, { "DE 418180357317": "https://start.mray.app/client/?item=10", "DE 418180378417": "https://start.mray.app/client/?item=11", "DE 418180379417": "https://start.mray.app/client/?item=12", "DE 418180401118": "https://start.mray.app/client/?item=13", "DE 418180412618": "https://start.mray.app/client/?item=14", "DE 418180663517": "https://start.mray.app/client/?item=15", "__nextpage__": true }, { "DE433336659618": "https://start.mray.app/client/?item=6", "DE433337791818": "https://start.mray.app/client/?item=7", "DE435350123415": "https://start.mray.app/client/?item=8", "__nextpage__": false } ];
Get Timestamp Request - Timestamp will change only each Minute
app.get("/mray_links_timestamp.json", (req, res) => { const date = startOfMinute(new Date()); res .set(JSON_HEADERS.key, JSON_HEADERS.value) .send(toString(getUnixTime(date))); });
Get Pages Request
app.get("/mray_links_:path", (req, res) => { const { params: {path}} = req; if(!endsWith(path, '.json')) { return res.status(404).end(); } const page = toNumber(head(path.match(/\d+/))); if(!page || !PAGES[page]) { res.status(404).end(); } console.log(`Client requesting page #${inspect(page)}`); return res.send(PAGES[page]); });
Loading…

no comments

    sign in to comment