diff --git a/internal/nodes/http_request.go b/internal/nodes/http_request.go index f4374b3..cd4369d 100644 --- a/internal/nodes/http_request.go +++ b/internal/nodes/http_request.go @@ -210,6 +210,22 @@ func (this *HTTPRequest) Do() { } } + // UAM + var uamIsCalled = false + if !this.isHealthCheck { + if this.web.UAM == nil && this.ReqServer.UAM != nil && this.ReqServer.UAM.IsOn { + this.web.UAM = this.ReqServer.UAM + } + + if this.web.UAM != nil && this.web.UAM.IsOn && this.isUAMRequest() { + uamIsCalled = true + if this.doUAM() { + this.doEnd() + return + } + } + } + // WAF if this.web.FirewallRef != nil && this.web.FirewallRef.IsOn { if this.doWAFRequest() { @@ -219,16 +235,8 @@ func (this *HTTPRequest) Do() { } // UAM - if !this.isHealthCheck { - if this.web.UAM != nil { - if this.web.UAM.IsOn { - if this.doUAM() { - this.doEnd() - return - } - } - } else if this.ReqServer.UAM != nil && this.ReqServer.UAM.IsOn { - this.web.UAM = this.ReqServer.UAM + if !this.isHealthCheck && !uamIsCalled { + if this.web.UAM != nil && this.web.UAM.IsOn { if this.doUAM() { this.doEnd() return diff --git a/internal/nodes/http_request_uam.go b/internal/nodes/http_request_uam.go index b635034..4dd682e 100644 --- a/internal/nodes/http_request_uam.go +++ b/internal/nodes/http_request_uam.go @@ -4,7 +4,13 @@ package nodes -// UAM -func (this *HTTPRequest) doUAM() (block bool) { +func (this *HTTPRequest) isUAMRequest() bool { + // stub + return false +} + +// UAM +func (this *HTTPRequest) doUAM() (block bool) { + // stub return false }