void li_request_copy(liRequest *dest, const liRequest *src) { GList *iter; dest->http_method = src->http_method; li_string_assign_len(dest->http_method_str, GSTR_LEN(src->http_method_str)); dest->http_version = src->http_version; li_string_assign_len(dest->uri.raw, GSTR_LEN(src->uri.raw)); li_string_assign_len(dest->uri.raw_path, GSTR_LEN(src->uri.raw_path)); li_string_assign_len(dest->uri.raw_orig_path, GSTR_LEN(src->uri.raw_orig_path)); li_string_assign_len(dest->uri.scheme, GSTR_LEN(src->uri.scheme)); li_string_assign_len(dest->uri.authority, GSTR_LEN(src->uri.authority)); li_string_assign_len(dest->uri.path, GSTR_LEN(src->uri.path)); li_string_assign_len(dest->uri.query, GSTR_LEN(src->uri.query)); li_string_assign_len(dest->uri.host, GSTR_LEN(src->uri.host)); li_http_headers_reset(dest->headers); for (iter = g_queue_peek_head_link(&src->headers->entries); iter; iter = g_list_next(iter)) { liHttpHeader* header = (liHttpHeader*) iter->data; li_http_header_insert(dest->headers, LI_HEADER_KEY_LEN(header), LI_HEADER_VALUE_LEN(header)); } dest->content_length = src->content_length; }
void li_request_reset(liRequest *req) { req->http_method = LI_HTTP_METHOD_UNSET; g_string_truncate(req->http_method_str, 0); req->http_version = LI_HTTP_VERSION_UNSET; g_string_truncate(req->uri.raw, 0); g_string_truncate(req->uri.raw_path, 0); g_string_truncate(req->uri.raw_orig_path, 0); g_string_truncate(req->uri.scheme, 0); g_string_truncate(req->uri.authority, 0); g_string_truncate(req->uri.path, 0); g_string_truncate(req->uri.query, 0); g_string_truncate(req->uri.host, 0); li_http_headers_reset(req->headers); req->content_length = -1; }
void li_response_reset(liResponse *resp) { li_http_headers_reset(resp->headers); resp->http_status = 0; resp->transfer_encoding = LI_HTTP_TRANSFER_ENCODING_IDENTITY; }