summaryrefslogtreecommitdiff
path: root/src/mongo/util/net/miniwebserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/util/net/miniwebserver.cpp')
-rw-r--r--src/mongo/util/net/miniwebserver.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mongo/util/net/miniwebserver.cpp b/src/mongo/util/net/miniwebserver.cpp
index dc890923bb0..e9a6a24c094 100644
--- a/src/mongo/util/net/miniwebserver.cpp
+++ b/src/mongo/util/net/miniwebserver.cpp
@@ -15,11 +15,13 @@
* limitations under the License.
*/
-#include "pch.h"
-#include "miniwebserver.h"
-#include "../hex.h"
+#include "mongo/pch.h"
-#include "pcrecpp.h"
+#include "mongo/util/net/miniwebserver.h"
+
+#include <pcrecpp.h>
+
+#include "mongo/util/hex.h"
namespace mongo {
@@ -112,14 +114,18 @@ namespace mongo {
char buf[4096];
int len = 0;
try {
+#ifdef MONGO_SSL
psock->doSSLHandshake();
+#endif
psock->setTimeout(8);
while ( 1 ) {
int left = sizeof(buf) - 1 - len;
if( left == 0 )
break;
- int x = psock->unsafe_recv( buf + len , left );
- if ( x <= 0 ) {
+ int x;
+ try {
+ x = psock->unsafe_recv( buf + len , left );
+ } catch (const SocketException&) {
psock->close();
return;
}