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