mirror of
https://github.com/alibaba/higress.git
synced 2026-06-07 03:37:28 +08:00
Disable reroute in some plugins (#2639)
This commit is contained in:
@@ -58,6 +58,7 @@ func parseConfig(gjson gjson.Result, c *PluginConfig, log log.Log) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config PluginConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
return types.ActionContinue
|
||||
}
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ func parseConfig(json gjson.Result, c *config.PluginConfig, log log.Log) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, c config.PluginConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
skipCache, _ := proxywasm.GetHttpRequestHeader(SKIP_CACHE_HEADER)
|
||||
if skipCache == "on" {
|
||||
ctx.SetContext(SKIP_CACHE_HEADER, struct{}{})
|
||||
|
||||
@@ -170,6 +170,7 @@ func parseConfig(json gjson.Result, c *PluginConfig, log log.Log) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config PluginConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
contentType, _ := proxywasm.GetHttpRequestHeader("content-type")
|
||||
if !strings.Contains(contentType, "application/json") {
|
||||
log.Warnf("content is not json, can't process:%s", contentType)
|
||||
|
||||
@@ -57,6 +57,7 @@ func parseConfig(json gjson.Result, config *Config) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config Config) types.Action {
|
||||
ctx.DisableReroute()
|
||||
contentType, _ := proxywasm.GetHttpRequestHeader("content-type")
|
||||
if contentType == "" {
|
||||
return types.ActionContinue
|
||||
|
||||
@@ -198,6 +198,7 @@ func parseConfig(json gjson.Result, c *PluginConfig, log log.Log) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config PluginConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
log.Debug("start onHttpRequestHeaders function.")
|
||||
|
||||
log.Debug("end onHttpRequestHeaders function.")
|
||||
|
||||
@@ -449,6 +449,7 @@ func recursiveRefineJson(ctx wrapper.HttpContext, config PluginConfig, log log.L
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config PluginConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
if config.rejectStruct.RejectCode != HTTP_STATUS_OK {
|
||||
sendResponse(ctx, config, log, nil)
|
||||
return types.ActionPause
|
||||
|
||||
@@ -64,6 +64,7 @@ func parseConfig(json gjson.Result, config *Config) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config Config) types.Action {
|
||||
ctx.DisableReroute()
|
||||
return config.lb.HandleHttpRequestHeaders(ctx)
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ func parseConfig(jsonConfig gjson.Result, config *AIPromptDecoratorConfig, log l
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config AIPromptDecoratorConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
proxywasm.RemoveHttpRequestHeader("content-length")
|
||||
return types.ActionContinue
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ func parseConfig(json gjson.Result, config *AIPromptTemplateConfig, log log.Log)
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config AIPromptTemplateConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
templateEnable, _ := proxywasm.GetHttpRequestHeader("template-enable")
|
||||
if templateEnable == "false" {
|
||||
ctx.DontReadRequestBody()
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
"github.com/higress-group/wasm-go/pkg/wrapper"
|
||||
"github.com/tidwall/gjson"
|
||||
"github.com/tidwall/resp"
|
||||
|
||||
|
||||
"github.com/alibaba/higress/plugins/wasm-go/extensions/ai-quota/util"
|
||||
)
|
||||
|
||||
@@ -131,6 +131,7 @@ func parseConfig(json gjson.Result, config *QuotaConfig) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(context wrapper.HttpContext, config QuotaConfig) types.Action {
|
||||
context.DisableReroute()
|
||||
log.Debugf("onHttpRequestHeaders()")
|
||||
// get tokens
|
||||
consumer, err := proxywasm.GetHttpRequestHeader("x-mse-consumer")
|
||||
|
||||
@@ -95,6 +95,7 @@ func parseConfig(json gjson.Result, config *AIRagConfig, log log.Log) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config AIRagConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
proxywasm.RemoveHttpRequestHeader("content-length")
|
||||
return types.ActionContinue
|
||||
}
|
||||
|
||||
@@ -278,6 +278,7 @@ func parseConfig(json gjson.Result, config *Config) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config Config) types.Action {
|
||||
ctx.DisableReroute()
|
||||
contentType, _ := proxywasm.GetHttpRequestHeader("content-type")
|
||||
// The request does not have a body.
|
||||
if contentType == "" {
|
||||
|
||||
@@ -254,6 +254,7 @@ func generateRandomID() string {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config AISecurityConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
if !config.checkRequest {
|
||||
log.Debugf("request checking is disabled")
|
||||
ctx.DontReadRequestBody()
|
||||
|
||||
@@ -175,6 +175,7 @@ func parseConfig(configJson gjson.Result, config *AIStatisticsConfig) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config AIStatisticsConfig) types.Action {
|
||||
ctx.DisableReroute()
|
||||
route, _ := getRouteName()
|
||||
cluster, _ := getClusterName()
|
||||
api, apiError := getAPIName()
|
||||
@@ -191,11 +192,8 @@ func onHttpRequestHeaders(ctx wrapper.HttpContext, config AIStatisticsConfig) ty
|
||||
if consumer, _ := proxywasm.GetHttpRequestHeader(ConsumerKey); consumer != "" {
|
||||
ctx.SetContext(ConsumerKey, consumer)
|
||||
}
|
||||
hasRequestBody := wrapper.HasRequestBody()
|
||||
if hasRequestBody {
|
||||
_ = proxywasm.RemoveHttpRequestHeader("Content-Length")
|
||||
ctx.SetRequestBodyBufferLimit(defaultMaxBodyBytes)
|
||||
}
|
||||
|
||||
ctx.SetRequestBodyBufferLimit(defaultMaxBodyBytes)
|
||||
|
||||
// Set user defined log & span attributes which type is fixed_value
|
||||
setAttributeBySource(ctx, config, FixedValue, nil)
|
||||
|
||||
@@ -99,6 +99,7 @@ func parseConfig(json gjson.Result, config *ClusterKeyRateLimitConfig) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config ClusterKeyRateLimitConfig) types.Action {
|
||||
ctx.DisableReroute()
|
||||
// 判断是否命中限流规则
|
||||
val, ruleItem, configItem := checkRequestAgainstLimitRule(ctx, config.ruleItems)
|
||||
if ruleItem == nil || configItem == nil {
|
||||
|
||||
@@ -93,6 +93,7 @@ func extraceHttpFrame(frame string) ([][2]string, []byte, error) {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config AITransformerConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
log.Info("onHttpRequestHeaders")
|
||||
if !config.requestTransformEnable || config.requestTransformPrompt == "" {
|
||||
ctx.DontReadRequestBody()
|
||||
|
||||
@@ -87,6 +87,7 @@ func parseConfig(json gjson.Result, cfg *config.ClusterKeyRateLimitConfig) error
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config config.ClusterKeyRateLimitConfig) types.Action {
|
||||
ctx.DisableReroute()
|
||||
limitKey, count, timeWindow := "", int64(0), int64(0)
|
||||
|
||||
if config.GlobalThreshold != nil {
|
||||
|
||||
@@ -75,6 +75,7 @@ func parseConfig(json gjson.Result, corsConfig *config.CorsConfig, log log.Log)
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, corsConfig config.CorsConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
log.Debug("onHttpRequestHeaders()")
|
||||
requestUrl, _ := proxywasm.GetHttpRequestHeader(":path")
|
||||
method, _ := proxywasm.GetHttpRequestHeader(":method")
|
||||
|
||||
@@ -61,6 +61,7 @@ func parseConfig(json gjson.Result, config *config.DeGraphQLConfig, log log.Log)
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config config.DeGraphQLConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
log.Debug("onHttpRequestHeaders()")
|
||||
log.Debugf("schema:%s host:%s path:%s", ctx.Scheme(), ctx.Host(), ctx.Path())
|
||||
requestUrl, _ := proxywasm.GetHttpRequestHeader(":path")
|
||||
|
||||
@@ -204,6 +204,7 @@ func onHttpRequestHeaders(ctx wrapper.HttpContext, config GeoIpConfig, log log.L
|
||||
s string
|
||||
err error
|
||||
)
|
||||
ctx.DisableReroute()
|
||||
if config.IPSourceType == HeaderSourceType {
|
||||
s, err = proxywasm.GetHttpRequestHeader(config.IPHeaderName)
|
||||
if err == nil {
|
||||
|
||||
@@ -59,6 +59,7 @@ func parseConfig(json gjson.Result, config *PluginConfig, log log.Log) error {
|
||||
}
|
||||
|
||||
func onHttpRequestHeaders(ctx wrapper.HttpContext, config PluginConfig, log log.Log) types.Action {
|
||||
ctx.DisableReroute()
|
||||
config.oidcHandler.SetContext(ctx)
|
||||
req := getHttpRequest()
|
||||
rw := util.NewRecorder()
|
||||
|
||||
Reference in New Issue
Block a user