smgc commited on
Commit
cc24f21
1 Parent(s): b5588b1

Update app.js

Browse files
Files changed (1) hide show
  1. app.js +20 -10
app.js CHANGED
@@ -135,6 +135,8 @@ async function handleRequest(req, res) {
135
  body: JSON.stringify(requestBody)
136
  });
137
 
 
 
138
  res.status(response.status);
139
 
140
  for (const [key, value] of response.headers.entries()) {
@@ -148,22 +150,29 @@ async function handleRequest(req, res) {
148
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, x-api-key, anthropic-version, model');
149
 
150
  const contentEncoding = response.headers.get('content-encoding');
 
 
151
  if (contentEncoding === 'gzip') {
152
- await pipeline(
153
- response.body,
154
- zlib.createGunzip(),
155
- res
156
- );
 
 
 
 
 
 
 
 
157
  } else {
158
- await pipeline(
159
- response.body,
160
- res
161
- );
162
  }
163
 
164
  logRequest(req, response.status, `Request forwarded successfully for model: ${model}`);
165
  } catch (error) {
166
- console.error('Error:', error);
167
  res.status(500).json({
168
  type: "error",
169
  error: {
@@ -175,6 +184,7 @@ async function handleRequest(req, res) {
175
  }
176
  }
177
 
 
178
  function handleOptions(res) {
179
  res.status(204);
180
  res.setHeader('Access-Control-Allow-Origin', '*');
 
135
  body: JSON.stringify(requestBody)
136
  });
137
 
138
+ console.log('Response headers:', response.headers.raw()); // 打印所有响应头
139
+
140
  res.status(response.status);
141
 
142
  for (const [key, value] of response.headers.entries()) {
 
150
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, x-api-key, anthropic-version, model');
151
 
152
  const contentEncoding = response.headers.get('content-encoding');
153
+ console.log('Content-Encoding:', contentEncoding); // 打印内容编码
154
+
155
  if (contentEncoding === 'gzip') {
156
+ const gunzip = zlib.createGunzip();
157
+ gunzip.on('error', (err) => {
158
+ console.error('Gunzip error:', err);
159
+ res.status(500).json({
160
+ type: "error",
161
+ error: {
162
+ type: "decompression_error",
163
+ message: "Failed to decompress the response"
164
+ }
165
+ });
166
+ });
167
+
168
+ response.body.pipe(gunzip).pipe(res);
169
  } else {
170
+ response.body.pipe(res);
 
 
 
171
  }
172
 
173
  logRequest(req, response.status, `Request forwarded successfully for model: ${model}`);
174
  } catch (error) {
175
+ console.error('Fetch error:', error);
176
  res.status(500).json({
177
  type: "error",
178
  error: {
 
184
  }
185
  }
186
 
187
+
188
  function handleOptions(res) {
189
  res.status(204);
190
  res.setHeader('Access-Control-Allow-Origin', '*');