|
@@ -196,6 +196,7 @@ export async function handler(
|
|
|
providerInfo.modifyHeaders(headers, providerInfo.apiKey, stickyId)
|
|
providerInfo.modifyHeaders(headers, providerInfo.apiKey, stickyId)
|
|
|
Object.entries(providerInfo.headerModifier ?? {}).forEach(([k, v]) => {
|
|
Object.entries(providerInfo.headerModifier ?? {}).forEach(([k, v]) => {
|
|
|
if (v === "$ip") return headers.set(k, ip)
|
|
if (v === "$ip") return headers.set(k, ip)
|
|
|
|
|
+ if (v === "$caller") return headers.set(k, `caller:${ip}`)
|
|
|
if (v === "$session") return headers.set(k, sessionId)
|
|
if (v === "$session") return headers.set(k, sessionId)
|
|
|
if (v === "$model") return headers.set(k, model)
|
|
if (v === "$model") return headers.set(k, model)
|
|
|
if (v === "$request") return headers.set(k, requestId)
|
|
if (v === "$request") return headers.set(k, requestId)
|
|
@@ -354,7 +355,7 @@ export async function handler(
|
|
|
responseLength += value.length
|
|
responseLength += value.length
|
|
|
buffer += decoder.decode(value, { stream: true })
|
|
buffer += decoder.decode(value, { stream: true })
|
|
|
|
|
|
|
|
- const parts = buffer.split(providerInfo.streamSeparator)
|
|
|
|
|
|
|
+ const parts = buffer.split(/\r\n\r\n|\n\n|\r\r/)
|
|
|
buffer = parts.pop() ?? ""
|
|
buffer = parts.pop() ?? ""
|
|
|
|
|
|
|
|
for (let part of parts) {
|
|
for (let part of parts) {
|