yxmiler commited on
Commit
e58d9d6
·
verified ·
1 Parent(s): 8ef71b9

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +8 -10
index.js CHANGED
@@ -504,15 +504,10 @@ async function handleStreamResponse(response, model, res) {
504
  buffer = lines.pop() || '';
505
 
506
  for (const line of lines) {
507
- if (!line.startsWith('data: ')) continue;
508
  const trimmedLine = line.trim();
509
  if (trimmedLine.startsWith('data: ')) {
510
  const content = trimmedLine.substring(6);
511
- if (content === '[DONE]') {
512
- res.write('data: [DONE]\n\n');
513
- continue;
514
- }
515
-
516
  try {
517
  const linejosn = JSON.parse(content);
518
  if (linejosn?.error?.name === "RateLimitError") {
@@ -521,6 +516,7 @@ async function handleStreamResponse(response, model, res) {
521
  CONFIG.API.SIGNATURE_COOKIE = null;
522
  console.log("认证信息已删除");
523
  res.write(`data: ${JSON.stringify(responseData)}\n\n`);
 
524
  return res.end();
525
  }
526
  switch (model) {
@@ -561,6 +557,10 @@ async function handleStreamResponse(response, model, res) {
561
  }
562
  }
563
  });
 
 
 
 
564
  stream.on('error', (error) => {
565
  console.error('流处理错误:', error);
566
  res.write('data: [DONE]\n\n');
@@ -583,15 +583,13 @@ async function handleNormalResponse(response, model, res) {
583
  const lines = responseText.split('\n');
584
 
585
  for (const line of lines) {
586
- if (!line.startsWith('data: ')) continue;
587
-
588
  const data = line.slice(6);
589
  if (data === '[DONE]') continue;
590
  let linejosn = JSON.parse(data);
591
  if (linejosn?.error?.name === "RateLimitError") {
592
  fullResponse = `${linejosn.error.name},请重新对话`;
593
  CONFIG.API.SIGNATURE_COOKIE = null;
594
- console.log("认证信息已删除");
595
  return res.json(MessageProcessor.createChatResponse(fullResponse, model));
596
  }
597
  switch (model) {
@@ -701,7 +699,7 @@ async function handleImageResponse(imageUrl) {
701
 
702
  // 404处理
703
  app.use((req, res) => {
704
- res.status(404).send('请求路径不存在');
705
  });
706
 
707
  // 启动服务器
 
504
  buffer = lines.pop() || '';
505
 
506
  for (const line of lines) {
507
+ if (!line.trim()) continue;
508
  const trimmedLine = line.trim();
509
  if (trimmedLine.startsWith('data: ')) {
510
  const content = trimmedLine.substring(6);
 
 
 
 
 
511
  try {
512
  const linejosn = JSON.parse(content);
513
  if (linejosn?.error?.name === "RateLimitError") {
 
516
  CONFIG.API.SIGNATURE_COOKIE = null;
517
  console.log("认证信息已删除");
518
  res.write(`data: ${JSON.stringify(responseData)}\n\n`);
519
+ res.write('data: [DONE]\n\n');
520
  return res.end();
521
  }
522
  switch (model) {
 
557
  }
558
  }
559
  });
560
+ stream.on('end', () => {
561
+ res.write('data: [DONE]\n\n');
562
+ res.end();
563
+ });
564
  stream.on('error', (error) => {
565
  console.error('流处理错误:', error);
566
  res.write('data: [DONE]\n\n');
 
583
  const lines = responseText.split('\n');
584
 
585
  for (const line of lines) {
586
+ if (!line.trim()) continue;
 
587
  const data = line.slice(6);
588
  if (data === '[DONE]') continue;
589
  let linejosn = JSON.parse(data);
590
  if (linejosn?.error?.name === "RateLimitError") {
591
  fullResponse = `${linejosn.error.name},请重新对话`;
592
  CONFIG.API.SIGNATURE_COOKIE = null;
 
593
  return res.json(MessageProcessor.createChatResponse(fullResponse, model));
594
  }
595
  switch (model) {
 
699
 
700
  // 404处理
701
  app.use((req, res) => {
702
+ res.status(200).send('api运行正常');
703
  });
704
 
705
  // 启动服务器