Skip to content

Commit a044a3a

Browse files
authored
Always process HTTP headers before processing HTTP body. (#95) (#103)
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
1 parent 29ddb0c commit a044a3a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/context.cc

+6
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,12 @@ FilterHeadersStatus ContextBase::convertVmCallResultToFilterHeadersStatus(uint64
629629
result > static_cast<uint64_t>(FilterHeadersStatus::StopAllIterationAndWatermark)) {
630630
return FilterHeadersStatus::StopAllIterationAndWatermark;
631631
}
632+
if (result == static_cast<uint64_t>(FilterHeadersStatus::StopIteration)) {
633+
// Always convert StopIteration (pause processing headers, but continue processing body)
634+
// to StopAllIterationAndWatermark (pause all processing), since the former breaks all
635+
// assumptions about HTTP processing.
636+
return FilterHeadersStatus::StopAllIterationAndWatermark;
637+
}
632638
return static_cast<FilterHeadersStatus>(result);
633639
}
634640

0 commit comments

Comments
 (0)