Test251 / server.js
Niansuh's picture
Create server.js
0768473 verified
raw
history blame contribute delete
953 Bytes
require('dotenv').config(); // Load environment variables
const express = require('express');
const proxy = require('express-http-proxy');
const app = express();
const targetUrl = process.env.TARGET_API_URL;
// Retrieve the real API key and bypass key from environment variables
const realApiKey = process.env.OPENAI_API_KEY;
const bypassApiKey = process.env.BYPASS_API_KEY;
app.use('/hf/', proxy(targetUrl, {
proxyReqOptDecorator: (proxyReqOpts, srcReq) => {
const authHeader = srcReq.headers['authorization'];
// Check for the "masked" or "bypass" API key and replace with the real key if necessary
if (authHeader === `Bearer fake-key` || authHeader === `Bearer ${bypassApiKey}`) {
proxyReqOpts.headers['authorization'] = `Bearer ${realApiKey}`;
}
return proxyReqOpts;
},
}));
const port = process.env.PROXY_PORT || 7860;
app.listen(port, () => {
console.log(`Reverse proxy server listening on port ${port}`);
});