mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
6d5547a Set version to 1.0.0-b34 6fab138 Fix and tidy up CMake build scripts: ccefa54 Set version to 1.0.0-b33 32afe41 Set internal state correctly when writing frames: fe3e20b Add write_frames unit test 578dcd0 Add decorator unit test aaa3733 Use fwrite return value in file_body df66165 Require Visual Studio 2015 Update 3 or later b8e5a21 Set version to 1.0.0-b32 ffb1758 Update CMake scripts for finding packages: b893749 Remove http Writer suspend and resume feature (API Change): 27864fb Add io_service completion invariants tests eba05a7 Set version to 1.0.0-b31 484bcef Fix badge markdown in README.md 5663bea Add missing dynabuf_readstream member 0d7a551 Tidy up build settings 0fd4030 Move the handler, don't copy it git-subtree-dir: src/beast git-subtree-split: 6d5547a32c50ec95832c4779311502555ab0ee1f
76 lines
1.5 KiB
C++
76 lines
1.5 KiB
C++
//
|
|
// Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
|
//
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
//
|
|
|
|
#ifndef BEAST_WEBSOCKET_DETAIL_DEBUG_HPP
|
|
#define BEAST_WEBSOCKET_DETAIL_DEBUG_HPP
|
|
|
|
#include <boost/asio/buffer.hpp>
|
|
#include <iomanip>
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
namespace beast {
|
|
namespace websocket {
|
|
namespace detail {
|
|
|
|
template<class = void>
|
|
std::string
|
|
to_hex(boost::asio::const_buffer b)
|
|
{
|
|
using namespace boost::asio;
|
|
std::stringstream ss;
|
|
auto p = buffer_cast<std::uint8_t const*>(b);
|
|
auto n = buffer_size(b);
|
|
while(n--)
|
|
{
|
|
ss <<
|
|
std::setfill('0') <<
|
|
std::setw(2) <<
|
|
std::hex << int(*p++) << " ";
|
|
}
|
|
return ss.str();
|
|
}
|
|
|
|
template<class Buffers>
|
|
std::string
|
|
to_hex(Buffers const& bs)
|
|
{
|
|
std::string s;
|
|
for(auto const& b : bs)
|
|
s.append(to_hex(boost::asio::const_buffer(b)));
|
|
return s;
|
|
}
|
|
|
|
template<class Buffers>
|
|
std::string
|
|
buffers_to_string(Buffers const& bs)
|
|
{
|
|
using namespace boost::asio;
|
|
std::string s;
|
|
s.reserve(buffer_size(bs));
|
|
for(auto const& b : bs)
|
|
s.append(buffer_cast<char const*>(b),
|
|
buffer_size(b));
|
|
return s;
|
|
}
|
|
|
|
template<class = void>
|
|
std::string
|
|
format(std::string s)
|
|
{
|
|
auto const w = 84;
|
|
for(int n = w*(s.size()/w); n>0; n-=w)
|
|
s.insert(n, 1, '\n');
|
|
return s;
|
|
}
|
|
|
|
} // detail
|
|
} // websocket
|
|
} // beast
|
|
|
|
#endif
|