File tree Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -163,15 +163,20 @@ public:
163
163
}
164
164
165
165
kj::Promise<void > write (kj::ArrayPtr<const kj::ArrayPtr<const kj::byte>> pieces) override {
166
+ // We check for Ended, Exception here so that we catch
167
+ // these even if pieces is empty.
166
168
KJ_SWITCH_ONEOF (state) {
167
169
KJ_CASE_ONEOF (ended, Ended) {
168
170
JSG_FAIL_REQUIRE (Error, " Write after close" );
169
171
}
170
- KJ_CASE_ONEOF (exception , kj::Exception) { kj::throwFatalException (kj::cp (exception )); }
172
+ KJ_CASE_ONEOF (exception , kj::Exception) {
173
+ kj::throwFatalException (kj::cp (exception ));
174
+ }
171
175
KJ_CASE_ONEOF (open , Open) {
172
- if (pieces.size () != 0 ) {
173
- co_await write (pieces[0 ].begin (), pieces[0 ].size ());
174
- co_await write (pieces.slice (1 , pieces.size ()));
176
+ for (auto &piece : pieces) {
177
+ if (piece.size () != 0 ) {
178
+ co_await write (piece.begin (), piece.size ());
179
+ }
175
180
}
176
181
co_return ;
177
182
}
You can’t perform that action at this time.
0 commit comments