| 3465 | } // namespace detail |
| 3466 | |
| 3467 | inline ssize_t write_headers(Stream &strm, const Headers &headers) { |
| 3468 | ssize_t write_len = 0; |
| 3469 | for (const auto &x : headers) { |
| 3470 | auto len = |
| 3471 | strm.write_format("%s: %s\r\n", x.first.c_str(), x.second.c_str()); |
| 3472 | if (len < 0) { return len; } |
| 3473 | write_len += len; |
| 3474 | } |
| 3475 | auto len = strm.write("\r\n"); |
| 3476 | if (len < 0) { return len; } |
| 3477 | write_len += len; |
| 3478 | return write_len; |
| 3479 | } |
| 3480 | |
| 3481 | inline bool write_data(Stream &strm, const char *d, size_t l) { |
| 3482 | size_t offset = 0; |
no test coverage detected