A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at fff48ea3213bb11efcfcb7db85be1dfcd2bebc5e 37 lines 979 B view raw
1import { consola } from "consola"; 2import { ctx } from "context"; 3import cors from "cors"; 4import type { Request, Response } from "express"; 5import express from "express"; 6import { createProxyMiddleware } from "http-proxy-middleware"; 7import { createServer } from "lexicon"; 8import dns from "node:dns"; 9import API from "./xrpc"; 10dns.setDefaultResultOrder("ipv4first"); 11 12const proxyMiddleware = createProxyMiddleware<Request, Response>({ 13 target: "http://localhost:8000", 14 changeOrigin: true, 15}); 16 17let server = createServer({ 18 validateResponse: false, 19 payload: { 20 jsonLimit: 100 * 1024, // 100kb 21 textLimit: 100 * 1024, // 100kb 22 blobLimit: 5 * 1024 * 1024, // 5mb 23 }, 24}); 25 26server = API(server, ctx); 27 28const app = express(); 29app.use(cors()); 30app.use(server.xrpc.router); 31app.use(proxyMiddleware); 32 33app.listen(process.env.ROCKSKY_XPRC_PORT || 3004, () => { 34 consola.info( 35 `Rocksky XRPC API is running on port ${process.env.ROCKSKY_XRPC_PORT || 3004}`, 36 ); 37});