MINOR: httpclient/lua: return an error when it can't generate the request

Add a check during the httpclient request generation which yield an lua
error when the generation didn't work. The most common case is the lack
of space in the buffer, it can because of too much headers or a too big
body.
This commit is contained in:
William Lallemand 2021-10-26 15:01:53 +02:00
parent dc2cc9008b
commit 6137a9ee20

View File

@ -7209,8 +7209,7 @@ __LJMP static int hlua_httpclient_send(lua_State *L, enum http_meth_t meth)
hlua_hc->hc->ops.res_end = hlua_httpclient_res_cb;
httpclient_req_gen(hlua_hc->hc, hlua_hc->hc->req.url, meth, hdrs, ist(body_str));
httpclient_start(hlua_hc->hc);
ret = httpclient_req_gen(hlua_hc->hc, hlua_hc->hc->req.url, meth, hdrs, ist(body_str));
/* free the temporary headers array */
hdrs_i = hdrs;
@ -7222,6 +7221,13 @@ __LJMP static int hlua_httpclient_send(lua_State *L, enum http_meth_t meth)
ha_free(&hdrs);
if (ret != ERR_NONE) {
WILL_LJMP(luaL_error(L, "Can't generate the HTTP request"));
return 0;
}
httpclient_start(hlua_hc->hc);
/* we return a "res" object */
lua_newtable(L);