webclient: Don't forget to check http status before webclient_get_tunnel

This commit is contained in:
YAMAMOTO Takashi 2022-06-02 13:42:06 +09:00 committed by Xiang Xiao
parent 3f4e723ff7
commit a696c8945e

View File

@ -1390,6 +1390,28 @@ int webclient_perform(FAR struct webclient_context *ctx)
if (ws->tunnel != NULL) if (ws->tunnel != NULL)
{ {
ret = webclient_perform(ws->tunnel); ret = webclient_perform(ws->tunnel);
if (ret == 0)
{
unsigned int http_status = ws->tunnel->http_status;
if (http_status / 100 != 2)
{
nerr("HTTP-level error %u on tunnel attempt\n",
http_status);
/* 407 Proxy Authentication Required */
if (http_status == 407)
{
ret = -EPERM;
}
else
{
ret = -EIO;
}
}
}
if (ret == 0) if (ret == 0)
{ {
FAR struct webclient_conn_s *tunnel_conn; FAR struct webclient_conn_s *tunnel_conn;