|
14 | 14 | // limitations under the License. |
15 | 15 |
|
16 | 16 | #include <deque> |
17 | | -#include <memory> |
18 | 17 | #include <map> |
| 18 | +#include <memory> |
19 | 19 | #include <mutex> |
20 | 20 | #include <unordered_map> |
21 | 21 | #include <unordered_set> |
@@ -394,11 +394,10 @@ FilterHeadersStatus ContextBase::onRequestHeaders(uint32_t headers) { |
394 | 394 | if (!wasm_->on_request_headers_) { |
395 | 395 | return FilterHeadersStatus::Continue; |
396 | 396 | } |
397 | | - if (static_cast<FilterHeadersStatus>(wasm_->on_request_headers_(this, id_, headers).u64_) == |
398 | | - FilterHeadersStatus::Continue) { |
399 | | - return FilterHeadersStatus::Continue; |
400 | | - } |
401 | | - return FilterHeadersStatus::StopIteration; |
| 397 | + auto result = wasm_->on_request_headers_(this, id_, headers).u64_; |
| 398 | + if (result > static_cast<uint64_t>(FilterHeadersStatus::StopAllIterationAndWatermark)) |
| 399 | + return FilterHeadersStatus::StopAllIterationAndWatermark; |
| 400 | + return static_cast<FilterHeadersStatus>(result); |
402 | 401 | } |
403 | 402 |
|
404 | 403 | FilterDataStatus ContextBase::onRequestBody(uint32_t data_length, bool end_of_stream) { |
@@ -450,11 +449,10 @@ FilterHeadersStatus ContextBase::onResponseHeaders(uint32_t headers) { |
450 | 449 | if (!wasm_->on_response_headers_) { |
451 | 450 | return FilterHeadersStatus::Continue; |
452 | 451 | } |
453 | | - if (static_cast<FilterHeadersStatus>(wasm_->on_response_headers_(this, id_, headers).u64_) == |
454 | | - FilterHeadersStatus::Continue) { |
455 | | - return FilterHeadersStatus::Continue; |
456 | | - } |
457 | | - return FilterHeadersStatus::StopIteration; |
| 452 | + auto result = wasm_->on_response_headers_(this, id_, headers).u64_; |
| 453 | + if (result > static_cast<uint64_t>(FilterHeadersStatus::StopAllIterationAndWatermark)) |
| 454 | + return FilterHeadersStatus::StopAllIterationAndWatermark; |
| 455 | + return static_cast<FilterHeadersStatus>(result); |
458 | 456 | } |
459 | 457 |
|
460 | 458 | FilterDataStatus ContextBase::onResponseBody(uint32_t body_length, bool end_of_stream) { |
|
0 commit comments