| 3678 | } // namespace detail |
| 3679 | |
| 3680 | inline ssize_t write_headers(Stream &strm, const Headers &headers) { |
| 3681 | ssize_t write_len = 0; |
| 3682 | for (const auto &x : headers) { |
| 3683 | auto len = |
| 3684 | strm.write_format("%s: %s\r\n", x.first.c_str(), x.second.c_str()); |
| 3685 | if (len < 0) { return len; } |
| 3686 | write_len += len; |
| 3687 | } |
| 3688 | auto len = strm.write("\r\n"); |
| 3689 | if (len < 0) { return len; } |
| 3690 | write_len += len; |
| 3691 | return write_len; |
| 3692 | } |
| 3693 | |
| 3694 | inline bool write_data(Stream &strm, const char *d, size_t l) { |
| 3695 | size_t offset = 0; |
no test coverage detected