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.
This commit is contained in:
Christopher Faulet 2022-10-14 14:57:04 +02:00
parent 48005de17c
commit 380ae9c3ff
1 changed files with 2 additions and 2 deletions

View File

@ -7312,7 +7312,7 @@ __LJMP static int hlua_httpclient_send(lua_State *L, enum http_meth_t meth)
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 @@ __LJMP static int hlua_httpclient_send(lua_State *L, enum http_meth_t meth)
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;
}