Skip to content

Commit 1582711

Browse files
authored
Always process HTTP headers before processing HTTP body. (#95)
Signed-off-by: Piotr Sikora <[email protected]>
1 parent eceb02d commit 1582711

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/context.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,12 @@ FilterHeadersStatus ContextBase::convertVmCallResultToFilterHeadersStatus(uint64
622622
result > static_cast<uint64_t>(FilterHeadersStatus::StopAllIterationAndWatermark)) {
623623
return FilterHeadersStatus::StopAllIterationAndWatermark;
624624
}
625+
if (result == static_cast<uint64_t>(FilterHeadersStatus::StopIteration)) {
626+
// Always convert StopIteration (pause processing headers, but continue processing body)
627+
// to StopAllIterationAndWatermark (pause all processing), since the former breaks all
628+
// assumptions about HTTP processing.
629+
return FilterHeadersStatus::StopAllIterationAndWatermark;
630+
}
625631
return static_cast<FilterHeadersStatus>(result);
626632
}
627633

0 commit comments

Comments
 (0)