From 0cfef34bfff385ba90bdaf0ceef3f2486a22dbab Mon Sep 17 00:00:00 2001 From: Kent Dong Date: Wed, 24 Jul 2024 19:25:32 +0800 Subject: [PATCH] feat: Support fallback route in ai-proxy plugin (#1123) --- plugins/wasm-go/extensions/ai-proxy/main.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/wasm-go/extensions/ai-proxy/main.go b/plugins/wasm-go/extensions/ai-proxy/main.go index 67ee77244..fae78d390 100644 --- a/plugins/wasm-go/extensions/ai-proxy/main.go +++ b/plugins/wasm-go/extensions/ai-proxy/main.go @@ -75,6 +75,11 @@ func onHttpRequestHeader(ctx wrapper.HttpContext, pluginConfig config.PluginConf action, err := handler.OnRequestHeaders(ctx, apiName, log) if err == nil { + if contentType, err := proxywasm.GetHttpRequestHeader("Content-Type"); err == nil && contentType != "" { + // Always return types.HeaderStopIteration to support fallback routing, + // as long as onHttpRequestBody can be called. + return types.HeaderStopIteration + } return action } _ = util.SendResponse(500, "ai-proxy.proc_req_headers_failed", util.MimeTypeTextPlain, fmt.Sprintf("failed to process request headers: %v", err))