From 698af467888d8d99086f758ff7a3ad9a7f777aa3 Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Mon, 5 May 2014 02:35:11 +0200 Subject: [PATCH] add support for PUT requests Signed-off-by: Luka Perkov --- uclient-http.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/uclient-http.c b/uclient-http.c index 16ffe96..ee161e6 100644 --- a/uclient-http.c +++ b/uclient-http.c @@ -40,6 +40,7 @@ enum request_type { REQ_GET, REQ_HEAD, REQ_POST, + REQ_PUT, __REQ_MAX }; @@ -56,6 +57,7 @@ static const char * const request_types[__REQ_MAX] = { [REQ_GET] = "GET", [REQ_HEAD] = "HEAD", [REQ_POST] = "POST", + [REQ_PUT] = "PUT", }; struct uclient_http { @@ -507,7 +509,7 @@ uclient_http_send_headers(struct uclient_http *uh) blobmsg_for_each_attr(cur, uh->headers.head, rem) ustream_printf(uh->us, "%s: %s\n", blobmsg_name(cur), (char *) blobmsg_data(cur)); - if (uh->req_type == REQ_POST) + if (uh->req_type == REQ_POST || uh->req_type == REQ_PUT) ustream_printf(uh->us, "Transfer-Encoding: chunked\r\n"); uclient_http_add_auth_header(uh); @@ -884,7 +886,7 @@ uclient_http_request_done(struct uclient *cl) return -1; uclient_http_send_headers(uh); - if (uh->req_type == REQ_POST) + if (uh->req_type == REQ_POST || uh->req_type == REQ_PUT) ustream_printf(uh->us, "0\r\n\r\n"); uh->state = HTTP_STATE_REQUEST_DONE; -- 2.30.2