diff --git a/WORKSPACE b/WORKSPACE index c143e5c32..e3d1ff675 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -6,7 +6,7 @@ load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") git_repository( name = "proxy_wasm_cpp_sdk", remote = "https://github.com/proxy-wasm/proxy-wasm-cpp-sdk", - commit = "c12553951d01bb60cb1448ba1fcfeb8f843aad62", + commit = "96927d814b3ec14893b56793e122125e095654c7", ) http_archive( diff --git a/src/context.cc b/src/context.cc index 0f0abe2d9..4296e1aee 100644 --- a/src/context.cc +++ b/src/context.cc @@ -14,8 +14,8 @@ // limitations under the License. #include -#include #include +#include #include #include #include @@ -394,11 +394,10 @@ FilterHeadersStatus ContextBase::onRequestHeaders(uint32_t headers) { if (!wasm_->on_request_headers_) { return FilterHeadersStatus::Continue; } - if (static_cast(wasm_->on_request_headers_(this, id_, headers).u64_) == - FilterHeadersStatus::Continue) { - return FilterHeadersStatus::Continue; - } - return FilterHeadersStatus::StopIteration; + auto result = wasm_->on_request_headers_(this, id_, headers).u64_; + if (result > static_cast(FilterHeadersStatus::StopAllIterationAndWatermark)) + return FilterHeadersStatus::StopAllIterationAndWatermark; + return static_cast(result); } FilterDataStatus ContextBase::onRequestBody(uint32_t data_length, bool end_of_stream) { @@ -450,11 +449,10 @@ FilterHeadersStatus ContextBase::onResponseHeaders(uint32_t headers) { if (!wasm_->on_response_headers_) { return FilterHeadersStatus::Continue; } - if (static_cast(wasm_->on_response_headers_(this, id_, headers).u64_) == - FilterHeadersStatus::Continue) { - return FilterHeadersStatus::Continue; - } - return FilterHeadersStatus::StopIteration; + auto result = wasm_->on_response_headers_(this, id_, headers).u64_; + if (result > static_cast(FilterHeadersStatus::StopAllIterationAndWatermark)) + return FilterHeadersStatus::StopAllIterationAndWatermark; + return static_cast(result); } FilterDataStatus ContextBase::onResponseBody(uint32_t body_length, bool end_of_stream) {