in src/uhttp.c [465:498]
static int setup_init_recv_msg(HTTP_RECV_DATA* recv_msg)
{
int result;
recv_msg->status_code = 0;
recv_msg->recv_state = state_initial;
recv_msg->total_body_len = 0;
if (recv_msg->resp_header != NULL)
{
HTTPHeaders_Free(recv_msg->resp_header);
}
if (recv_msg->msg_body != NULL)
{
BUFFER_delete(recv_msg->msg_body);
}
if ((recv_msg->resp_header = HTTPHeaders_Alloc()) == NULL)
{
/* Codes_SRS_UHTTP_07_017: [If any failure encountered http_client_execute_request shall return HTTP_CLIENT_ERROR] */
LogError("Failure allocating http http_data items");
result = HTTP_CLIENT_ERROR;
}
else if ((recv_msg->msg_body = BUFFER_new()) == NULL)
{
/* Codes_SRS_UHTTP_07_017: [If any failure encountered http_client_execute_request shall return HTTP_CLIENT_ERROR] */
LogError("Failure allocating http data items");
HTTPHeaders_Free(recv_msg->resp_header);
recv_msg->resp_header = NULL;
result = HTTP_CLIENT_ERROR;
}
else
{
result = 0;
}
return result;
}