AtlasFloor/openai-reverse-proxy
0
1const express = require('express');2const proxy = require('express-http-proxy');3const app = express();4const targetUrl = 'https://api.openai.com';5const openaiKey = process.env.OPENAI_KEY6const port = 7860;7 8app.use('/', proxy(targetUrl, {9 proxyReqOptDecorator: (proxyReqOpts, srcReq) => {10 // Modify the request headers if necessary11 proxyReqOpts.headers['Authorization'] = 'Bearer '+openaiKey;12 return proxyReqOpts;13 },14}));15 16const baseUrl = getExternalUrl(process.env.SPACE_ID);17 18function getExternalUrl(spaceId) {19 try {20 const [username, spacename] = spaceId.split("/");21 return `https://${username}-${spacename.replace(/_/g, "-")}.hf.space/v1`;22 } catch (e) {23 return "";24 }25}26 27app.listen(port, () => {28 console.log(`Reverse proxy server running on ${baseUrl}`);29});