MINOR: httpclient/lua: Don't set req_payload callback if body is empty
The HTTPclient callback req_payload callback is set when a request payload
must be streamed. In the lua, this callback is set when a body is passed as
argument in one of httpclient functions (head/get/post/put/delete). However,
there is no reason to set it if body string is empty.
This patch is related to the issue #1898. It may be backported as far as
2.5.
diff --git a/src/hlua.c b/src/hlua.c
index ccdf538..70be127 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -7312,7 +7312,7 @@
struct hlua *hlua;
const char *url_str = NULL;
const char *body_str = NULL;
- size_t buf_len;
+ size_t buf_len = 0;
int ret;
hlua = hlua_gethlua(L);
@@ -7376,7 +7376,7 @@
hlua_hc->hc->ops.res_end = hlua_httpclient_cb;
/* a body is available, it will use the request callback */
- if (body_str) {
+ if (body_str && buf_len) {
hlua_hc->hc->ops.req_payload = hlua_httpclient_cb;
}