Fixes #142: a new socket is created when a https connection is reconnected, since a second SSL handshake cannot be made on the same socket. Also now removing failed connections from the connections collection.

This commit is contained in:
eidheim 2017-07-15 07:30:27 +02:00
commit eeaf66cf2c
3 changed files with 57 additions and 71 deletions

View file

@ -85,38 +85,28 @@ namespace SimpleWeb {
return;
if(!ec) {
response->parse_header();
if(response->status_code.empty() || response->status_code.compare(0, 3, "200") != 0) {
session->connection->close();
session->callback(make_error_code::make_error_code(errc::permission_denied));
}
if(response->status_code.empty() || response->status_code.compare(0, 3, "200") != 0)
this->close(session, make_error_code::make_error_code(errc::permission_denied));
else
this->handshake(session);
}
else {
session->connection->close();
session->callback(ec);
}
else
this->close(session, ec);
});
}
else {
session->connection->close();
session->callback(ec);
}
else
this->close(session, ec);
});
}
else
this->handshake(session);
}
else {
session->connection->close();
session->callback(ec);
}
else
this->close(session, ec);
});
}
else {
session->connection->close();
session->callback(ec);
}
else
this->close(session, ec);
});
}
else
@ -132,10 +122,8 @@ namespace SimpleWeb {
return;
if(!ec)
this->write(session);
else {
session->connection->close();
session->callback(ec);
}
else
this->close(session, ec);
});
}
};