ignore binary body in plugins (#711)

This commit is contained in:
澄潭
2023-12-19 16:47:15 +08:00
committed by GitHub
parent 2548815667
commit a140f780d2
2 changed files with 39 additions and 1 deletions

View File

@@ -14,7 +14,11 @@
package wrapper
import "github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm"
import (
"strings"
"github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm"
)
func GetRequestScheme() string {
scheme, err := proxywasm.GetHttpRequestHeader(":scheme")
@@ -51,3 +55,29 @@ func GetRequestMethod() string {
}
return method
}
func IsBinaryRequestBody() bool {
contentType, _ := proxywasm.GetHttpRequestHeader("content-type")
if strings.Contains(contentType, "octet-stream") ||
strings.Contains(contentType, "grpc") {
return true
}
encoding, _ := proxywasm.GetHttpRequestHeader("content-encoding")
if encoding != "" {
return true
}
return false
}
func IsBinaryResponseBody() bool {
contentType, _ := proxywasm.GetHttpResponseHeader("content-type")
if strings.Contains(contentType, "octet-stream") ||
strings.Contains(contentType, "grpc") {
return true
}
encoding, _ := proxywasm.GetHttpResponseHeader("content-encoding")
if encoding != "" {
return true
}
return false
}