ardasen commited on
Commit
dec3173
·
verified ·
1 Parent(s): 3977b5c

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +1 -39
server.js CHANGED
@@ -41,48 +41,10 @@ function authenticateProxyKeyAndModel(req, res, next) {
41
  app.use('/api', authenticateProxyKeyAndModel, proxy(targetUrl, {
42
  proxyReqPathResolver: (req) => '/api/v1/chat/completions',
43
  proxyReqOptDecorator: (proxyReqOpts, srcReq) => {
 
44
  proxyReqOpts.headers['Authorization'] = 'Bearer ' + openaiKey;
45
  return proxyReqOpts;
46
  },
47
- userResDecorator: (proxyRes, proxyResData, userReq, userRes) => {
48
- console.log('API Response Status:', proxyRes.statusCode);
49
- console.log('API Response Headers:', proxyRes.headers);
50
-
51
- const contentType = proxyRes.headers['content-type'];
52
-
53
- if (contentType && contentType.includes('text/event-stream')) {
54
- console.log('Received Server-Sent Events (SSE) stream');
55
- const events = proxyResData.toString('utf8').split('\n\n');
56
- let fullContent = '';
57
- let totalTokens = 0;
58
-
59
- events.forEach((event, index) => {
60
- if (event.trim().startsWith('data:')) {
61
- try {
62
- const jsonData = JSON.parse(event.replace('data:', '').trim());
63
- if (jsonData.choices && jsonData.choices[0].delta && jsonData.choices[0].delta.content) {
64
- fullContent += jsonData.choices[0].delta.content;
65
- }
66
- if (jsonData.usage) {
67
- totalTokens = jsonData.usage.total_tokens;
68
- }
69
- } catch (error) {
70
- console.error('Error parsing JSON in SSE event:', error);
71
- }
72
- }
73
- });
74
-
75
- console.log('Full content:', fullContent);
76
- console.log('Total tokens used:', totalTokens);
77
- } else {
78
- console.log('Raw Response Body:', proxyResData.toString('utf8'));
79
- }
80
-
81
- // Return the original response data
82
- return proxyResData;
83
- },
84
-
85
-
86
  }));
87
 
88
 
 
41
  app.use('/api', authenticateProxyKeyAndModel, proxy(targetUrl, {
42
  proxyReqPathResolver: (req) => '/api/v1/chat/completions',
43
  proxyReqOptDecorator: (proxyReqOpts, srcReq) => {
44
+ // Modify the request headers if necessary
45
  proxyReqOpts.headers['Authorization'] = 'Bearer ' + openaiKey;
46
  return proxyReqOpts;
47
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  }));
49
 
50