From 7f5b37ae6d5edabe33e079fd2ebf25acee3910f0 Mon Sep 17 00:00:00 2001 From: rinfx Date: Mon, 15 Dec 2025 17:19:59 +0800 Subject: [PATCH] vertex support global region (#3213) --- .../wasm-go/extensions/ai-proxy/provider/vertex.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/wasm-go/extensions/ai-proxy/provider/vertex.go b/plugins/wasm-go/extensions/ai-proxy/provider/vertex.go index 050994757..fe15cc3ad 100644 --- a/plugins/wasm-go/extensions/ai-proxy/provider/vertex.go +++ b/plugins/wasm-go/extensions/ai-proxy/provider/vertex.go @@ -25,12 +25,13 @@ import ( const ( vertexAuthDomain = "oauth2.googleapis.com" - vertexDomain = "{REGION}-aiplatform.googleapis.com" + vertexDomain = "aiplatform.googleapis.com" // /v1/projects/{PROJECT_ID}/locations/{REGION}/publishers/google/models/{MODEL_ID}:{ACTION} vertexPathTemplate = "/v1/projects/%s/locations/%s/publishers/google/models/%s:%s" vertexChatCompletionAction = "generateContent" vertexChatCompletionStreamAction = "streamGenerateContent?alt=sse" vertexEmbeddingAction = "predict" + vertexGlobalRegion = "global" ) type vertexProviderInitializer struct{} @@ -94,8 +95,13 @@ func (v *vertexProvider) OnRequestHeaders(ctx wrapper.HttpContext, apiName ApiNa } func (v *vertexProvider) TransformRequestHeaders(ctx wrapper.HttpContext, apiName ApiName, headers http.Header) { - vertexRegionDomain := strings.Replace(vertexDomain, "{REGION}", v.config.vertexRegion, 1) - util.OverwriteRequestHostHeader(headers, vertexRegionDomain) + var finalVertexDomain string + if v.config.vertexRegion != vertexGlobalRegion { + finalVertexDomain = fmt.Sprintf("%s-%s", v.config.vertexRegion, vertexDomain) + } else { + finalVertexDomain = vertexDomain + } + util.OverwriteRequestHostHeader(headers, finalVertexDomain) } func (v *vertexProvider) getToken() (cached bool, err error) {