1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

api: bugfixes in HTTP sessions

This commit is contained in:
Steffen Vogel 2018-12-02 03:24:25 +01:00
parent ff3fb5c820
commit 0cfd908158

View file

@ -109,18 +109,13 @@ int Http::write()
ret = lws_write(wsi, (unsigned char *) headers.str().data(), headers.str().size(), LWS_WRITE_HTTP_HEADERS);
if (ret < 0)
return 1;
return -1;
ret = lws_write(wsi, (unsigned char *) response.buffer.data(), response.buffer.size(), LWS_WRITE_HTTP);
if (ret < 0)
return 1;
return -1;
return 0;
}
Http::~Http()
{
logger->debug("Closed API session: {}", getName());
return 1;
}
std::string Http::getName()
@ -159,10 +154,10 @@ int api_http_protocol_cb(struct lws *wsi, enum lws_callback_reasons reason, void
if (!s)
return -1;
s->~Http();
a->sessions.remove(s);
s->~Http();
return 1;
case LWS_CALLBACK_HTTP_BODY:
@ -178,7 +173,11 @@ int api_http_protocol_cb(struct lws *wsi, enum lws_callback_reasons reason, void
break;
case LWS_CALLBACK_HTTP_WRITEABLE:
s->write();
ret = s->write();
if (ret == 0) {
goto try_to_reuse;
break;
}
goto try_to_reuse;