| 50 | } |
| 51 | |
| 52 | TEST(http_server, headers) { |
| 53 | auto tcpserver = new_tcp_socket_server(); |
| 54 | tcpserver->timeout(1000UL*1000); |
| 55 | tcpserver->bind_v4localhost(); |
| 56 | tcpserver->listen(); |
| 57 | DEFER(delete tcpserver); |
| 58 | auto server = new_http_server(); |
| 59 | DEFER(delete server); |
| 60 | server->add_handler({nullptr, &idiot_handle}); |
| 61 | tcpserver->set_handler(server->get_connection_handler()); |
| 62 | tcpserver->start_loop(); |
| 63 | auto client = new_http_client(); |
| 64 | DEFER(delete client); |
| 65 | auto op = client->new_operation(Verb::GET, to_url(tcpserver, "/test")); |
| 66 | DEFER(client->destroy_operation(op)); |
| 67 | auto exp_len = 20; |
| 68 | op->req.headers.range(0, exp_len - 1); |
| 69 | op->call(); |
| 70 | EXPECT_EQ(200, op->resp.status_code()); |
| 71 | char buf[4096]; |
| 72 | auto ret = op->resp.read(buf, 4096); |
| 73 | EXPECT_EQ(exp_len, ret); |
| 74 | EXPECT_EQ(true, "test" == op->resp.headers["Test_Handle"]); |
| 75 | } |
| 76 | |
| 77 | |
| 78 | int body_check_handler(void*, Request &req, Response &resp, std::string_view) { |
nothing calls this directly
no test coverage detected