From 8b04940d2f28290451db439ad29155a0b8771ba3 Mon Sep 17 00:00:00 2001 From: ipknHama Date: Thu, 15 Sep 2016 17:30:21 +0900 Subject: Upgrade amalgamate --- amalgamate/crow_all.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'amalgamate/crow_all.h') diff --git a/amalgamate/crow_all.h b/amalgamate/crow_all.h index e606b32..27c15f2 100644 --- a/amalgamate/crow_all.h +++ b/amalgamate/crow_all.h @@ -6397,6 +6397,7 @@ namespace crow #pragma once +#include @@ -6442,7 +6443,7 @@ namespace crow std::function error_handler) : adaptor_(std::move(adaptor)), open_handler_(std::move(open_handler)), message_handler_(std::move(message_handler)), close_handler_(std::move(close_handler)), error_handler_(std::move(error_handler)) { - if (req.get_header_value("upgrade") != "websocket") + if (!boost::iequals(req.get_header_value("upgrade"), "websocket")) { adaptor.close(); delete this; @@ -6532,13 +6533,13 @@ namespace crow else if (size < 0x10000) { buf[1] += 126; - *(uint16_t*)(buf+2) = (uint16_t)size; + *(uint16_t*)(buf+2) = htons((uint16_t)size); return {buf, buf+4}; } else { buf[1] += 127; - *(uint64_t*)(buf+2) = (uint64_t)size; + *(uint64_t*)(buf+2) = ((1==htonl(1)) ? (uint64_t)size : ((uint64_t)htonl((size) & 0xFFFFFFFF) << 32) | htonl((size) >> 32)); return {buf, buf+10}; } } -- cgit v1.2.3-54-g00ecf