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.
(cherry picked from commit 380ae9c3ff
)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
This commit is contained in:
parent
bb170f4dff
commit
252ac81019
@ -7286,7 +7286,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);
|
||||
@ -7350,7 +7350,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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user