40 static_cast<unsigned char>(
c) ];
54 for(
const auto ch :
str )
58 case expected_type::b64ch:
68 expects = expected_type::b64ch_or_padding;
74 case expected_type::b64ch_or_padding:
78 expects = expected_type::padding;
90 case expected_type::padding:
112 return static_cast<uint_type_t>(
static_cast<unsigned char>(
ch));
115template<
unsigned int Shift>
119 return ::restinio::utils::impl::bitops::n_bits_from< char, Shift, 6 >(
bs);
127 const auto at = [&
str](
auto index) {
return uch(
str[index]); };
130 return static_cast<char>(
132 static_cast<unsigned char>(
ch) ]);
196 const auto at = [&
str](
auto index) {
197 return static_cast<unsigned char>(
str[index]);
212 if(
'=' ==
str[
i+2] )
222 if(
'=' ==
str[
i+3] )
231 using ::restinio::utils::impl::bitops::n_bits_from;
260 "invalid base64 string that starts with '{}'" ),
279 return std::move( *
result );
Exception class for all exceptions thrown by RESTinio.
A special wrapper around fmtlib include files.
#define RESTINIO_FMT_FORMAT_STRING(s)
void throw_exception_on_invalid_base64_string(string_view_t str)
char sixbits_char(uint_type_t bs)
bool is_base64_char(char c) noexcept
std::string decode(string_view_t str)
bool is_valid_base64_string(string_view_t str) noexcept
std::uint_fast32_t uint_type_t
expected_t< std::string, decoding_error_t > try_decode(string_view_t str)
decoding_error_t
Description of base64 decode error.
@ invalid_base64_sequence
std::string encode(string_view_t str)
run_on_this_thread_settings_t< Traits > on_this_thread()
A special marker for the case when http_server must be run on the context of the current thread.
std::string_view string_view_t
nonstd::expected< T, E > expected_t