20 #include <ripple/beast/net/IPEndpoint.h>
21 #include <boost/algorithm/string.hpp>
42 if (! is.
fail() && is.
rdbuf()->in_avail() == 0)
96 addrStr.
reserve(INET6_ADDRSTRLEN);
105 while (is && is.
rdbuf()->in_avail() > 0 && is.
get(i))
112 if (isspace(
static_cast<unsigned char>(i)) || (readTo && i == readTo))
116 (i >=
'0' && i <=
':') ||
117 (i >=
'a' && i <=
'f') ||
118 (i >=
'A' && i <=
'F'))
123 if ( addrStr.
size() == INET6_ADDRSTRLEN ||
124 (readTo && readTo ==
':' && addrStr.
size() > 15))
126 is.
setstate (std::ios_base::failbit);
130 if (! readTo && (i ==
'.' || i ==
':'))
134 readTo = (i ==
'.') ?
':' :
' ';
140 is.
setstate (std::ios_base::failbit);
145 if (readTo ==
']' && is.
rdbuf()->in_avail() > 0)
148 if (! (isspace(
static_cast<unsigned char>(i)) || i ==
':'))
151 is.
setstate (std::ios_base::failbit);
156 boost::system::error_code ec;
157 auto addr = Address::from_string(addrStr, ec);
160 is.
setstate (std::ios_base::failbit);
164 if (is.
rdbuf()->in_avail() > 0)