| 258 | } |
| 259 | |
| 260 | void write_completed(beast::error_code error, WriteType write_type) { |
| 261 | writing_ = false; |
| 262 | |
| 263 | if (error) { |
| 264 | LOG(ERROR) << "http write answer failed: " << error.message(); |
| 265 | close(); |
| 266 | return; |
| 267 | } |
| 268 | |
| 269 | switch (write_type) { |
| 270 | case WriteType::Headers: |
| 271 | send_next_part(); |
| 272 | return; |
| 273 | case WriteType::Chunk: |
| 274 | q_.pop_front(); |
| 275 | send_next_part(); |
| 276 | return; |
| 277 | case WriteType::Final: |
| 278 | if (req_.keep_alive()) { |
| 279 | read_next_request(); |
| 280 | } else { |
| 281 | close(); |
| 282 | } |
| 283 | return; |
| 284 | } |
| 285 | } |
| 286 | |
| 287 | void send_next_part() { |
| 288 | if (writing_) { |
no outgoing calls
no test coverage detected