Spaces:
Running
Running
Update app.js
Browse files
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 |
-
|
153 |
-
|
154 |
-
|
155 |
-
res
|
156 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
} else {
|
158 |
-
|
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('
|
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', '*');
|