|
|
@@ -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)
|
|
|
}
|
|
|
|