// File: trisolaris233[P]httpc/src/response.hpp
// Function: httpc::Response::ToBuffers()
std::vector<boost::asio::const_buffer> ToBuffers() {
            std::vector<boost::asio::const_buffer> buffers;

            buffers.emplace_back(ToBuffer(this->status_code));

            for (const auto& header : this->headers) {
                buffers.emplace_back(boost::asio::buffer(header.field));
                buffers.emplace_back(boost::asio::buffer(NameValueSeparator));
                buffers.emplace_back(boost::asio::buffer(header.value));
                buffers.emplace_back(boost::asio::buffer(CRLF));
            }
            buffers.emplace_back(boost::asio::buffer(CRLF));
#ifdef HTTPC_ENABLE_GZIP
            buffers.emplace_back(boost::asio::buffer(this->gzip_message_body_));
#else
            buffers.emplace_back(boost::asio::buffer(this->message_body));
#endif
            
            
            // std::stringstream ss;
            // ss  << "HTTP/1" << this->http_major_version << "." << this->http_minor_version 
            //     << " " << static_cast<int>(this->status_code)
            //     << " " << GetHTTPReasonPhrase(this->status_code) << GetCRLF();
            // buffers.push_back(boost::asio::buffer(ss.str()));
            
            // for (const auto& header : this->headers) {
            //     ss.clear();
            //     ss << header.field << ": " << header.value << GetCRLF();
            //     buffers.emplace_back(
            //         boost::asio::buffer(ss.str())
            //     );
            // }
            // buffers.push_back(boost::asio::buffer(GetCRLF()));
            // buffers.push_back(boost::asio::buffer(this->message_body));

            return buffers;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0xe0(%rbp)
movq %rdi, %rax
movq %rax, -0xd8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xd0(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x40530
movq -0xd0(%rbp), %rax
movl 0x8(%rax), %edi
callq 0x405d0
movq %rdx, -0xc8(%rbp)
movq %rax, -0xc0(%rbp)
jmp 0x3cd77
movq -0xe0(%rbp), %rdi
movq -0xc8(%rbp), %rax
movq -0xc0(%rbp), %rcx
movq %rcx, -0x28(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x28(%rbp), %rsi
callq 0x40550
jmp 0x3cd9f
movq -0xd0(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x12e40
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
callq 0x12eb0
movq %rax, -0x50(%rbp)
leaq -0x48(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x12e70
testb $0x1, %al
jne 0x3cdde
jmp 0x3cebd
leaq -0x48(%rbp), %rdi
callq 0x139f0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
callq 0x40d20
movq -0xe0(%rbp), %rdi
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
leaq -0x68(%rbp), %rsi
callq 0x40ca0
jmp 0x3ce0e
leaq 0x1e0a3(%rip), %rdi     # 0x5aeb8
callq 0x40d60
movq -0xe0(%rbp), %rdi
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
leaq -0x78(%rbp), %rsi
callq 0x40ca0
jmp 0x3ce34
movq -0x58(%rbp), %rdi
addq $0x20, %rdi
callq 0x40d20
movq -0xe0(%rbp), %rdi
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
leaq -0x88(%rbp), %rsi
callq 0x40ca0
jmp 0x3ce61
leaq 0x1e052(%rip), %rdi     # 0x5aeba
callq 0x40d60
movq -0xe0(%rbp), %rdi
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
leaq -0x98(%rbp), %rsi
callq 0x40ca0
jmp 0x3ce90
jmp 0x3ce92
leaq -0x48(%rbp), %rdi
callq 0x12f90
jmp 0x3cdc8
movq -0xe0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x3cf80
jmp 0x3cf48
leaq 0x1dff6(%rip), %rdi     # 0x5aeba
callq 0x40d60
movq -0xe0(%rbp), %rdi
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
leaq -0xa8(%rbp), %rsi
callq 0x40ca0
jmp 0x3ceec
movq -0xd0(%rbp), %rdi
addq $0xa0, %rdi
callq 0x40e10
movq -0xe0(%rbp), %rdi
movq %rax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
leaq -0xb8(%rbp), %rsi
callq 0x40d90
jmp 0x3cf22
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x3cf38
movq -0xe0(%rbp), %rdi
callq 0x3cf80
movq -0xd8(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0xab10
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)