diff options
Diffstat (limited to 'packages/console/app/src')
| -rw-r--r-- | packages/console/app/src/routes/zen/util/handler.ts | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 91fa306af..af2a8c3e6 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -119,6 +119,9 @@ export async function handler( Object.entries(providerInfo.headerMappings ?? {}).forEach(([k, v]) => { headers.set(k, headers.get(v)!) }) + Object.entries(providerInfo.headers ?? {}).forEach(([k, v]) => { + headers.set(k, v) + }) headers.delete("host") headers.delete("content-length") headers.delete("x-opencode-request") @@ -250,13 +253,18 @@ export async function handler( part = part.trim() usageParser.parse(part) - if (providerInfo.format !== opts.format) { + if (providerInfo.bodyModifier) { + for (const [k, v] of Object.entries(providerInfo.bodyModifier)) { + part = part.replace(k, v) + } + c.enqueue(encoder.encode(part + "\n\n")) + } else if (providerInfo.format !== opts.format) { part = streamConverter(part) c.enqueue(encoder.encode(part + "\n\n")) } } - if (providerInfo.format === opts.format) { + if (!providerInfo.bodyModifier && providerInfo.format === opts.format) { c.enqueue(value) } |
