5.00% Lines (2/40) 25.00% Functions (1/4)
TLA Baseline Branch
Line Hits Code Line Hits Code
1   // 1   //
2   // Copyright (c) 2024 Mohammad Nejati 2   // Copyright (c) 2024 Mohammad Nejati
3   // 3   //
4   // Distributed under the Boost Software License, Version 1.0. (See accompanying 4   // Distributed under the Boost Software License, Version 1.0. (See accompanying
5   // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5   // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6   // 6   //
7   // Official repository: https://github.com/cppalliance/http 7   // Official repository: https://github.com/cppalliance/http
8   // 8   //
9   9  
10   #include <boost/http/brotli/error.hpp> 10   #include <boost/http/brotli/error.hpp>
11   11  
12   namespace boost { 12   namespace boost {
13   namespace http { 13   namespace http {
14   namespace brotli { 14   namespace brotli {
15   namespace detail { 15   namespace detail {
16   16  
17   const char* 17   const char*
MISUBC 18   error_cat_type:: 18   error_cat_type::
19   name() const noexcept 19   name() const noexcept
20   { 20   {
MISUBC 21   return "boost.http.brotli"; 21   return "boost.http.brotli";
22   } 22   }
23   23  
24   bool 24   bool
HITCBC 25   1 error_cat_type:: 25   1 error_cat_type::
26   failed(int ev) const noexcept 26   failed(int ev) const noexcept
27   { 27   {
HITCBC 28   1 return ev < 0; 28   1 return ev < 0;
29   } 29   }
30   30  
31   std::string 31   std::string
MISUBC 32   error_cat_type:: 32   error_cat_type::
33   message(int ev) const 33   message(int ev) const
34   { 34   {
MISUBC 35   return message(ev, nullptr, 0); 35   return message(ev, nullptr, 0);
36   } 36   }
37   37  
38   char const* 38   char const*
MISUBC 39   error_cat_type:: 39   error_cat_type::
40   message( 40   message(
41   int ev, 41   int ev,
42   char*, 42   char*,
43   std::size_t) const noexcept 43   std::size_t) const noexcept
44   { 44   {
MISUBC 45   switch(static_cast<error>(ev)) 45   switch(static_cast<error>(ev))
46   { 46   {
47   47  
MISUBC 48   case error::no_error: return "no_error"; 48   case error::no_error: return "no_error";
MISUBC 49   case error::success: return "success"; 49   case error::success: return "success";
MISUBC 50   case error::needs_more_input: return "needs_more_input"; 50   case error::needs_more_input: return "needs_more_input";
MISUBC 51   case error::needs_more_output: return "needs_more_output"; 51   case error::needs_more_output: return "needs_more_output";
MISUBC 52   case error::format_exuberant_nibble: return "format_exuberant_nibble"; 52   case error::format_exuberant_nibble: return "format_exuberant_nibble";
MISUBC 53   case error::format_reserved: return "format_reserved"; 53   case error::format_reserved: return "format_reserved";
MISUBC 54   case error::format_exuberant_meta_nibbl: return "format_exuberant_meta_nibbl"; 54   case error::format_exuberant_meta_nibbl: return "format_exuberant_meta_nibbl";
MISUBC 55   case error::format_simple_huffman_alphabet: return "format_simple_huffman_alphabet"; 55   case error::format_simple_huffman_alphabet: return "format_simple_huffman_alphabet";
MISUBC 56   case error::format_simple_huffman_same: return "format_simple_huffman_same"; 56   case error::format_simple_huffman_same: return "format_simple_huffman_same";
MISUBC 57   case error::format_cl_space: return "format_cl_space"; 57   case error::format_cl_space: return "format_cl_space";
MISUBC 58   case error::format_huffman_space: return "format_huffman_space"; 58   case error::format_huffman_space: return "format_huffman_space";
MISUBC 59   case error::format_context_map_repea: return "format_context_map_repea"; 59   case error::format_context_map_repea: return "format_context_map_repea";
MISUBC 60   case error::format_block_length_1: return "format_block_length_1"; 60   case error::format_block_length_1: return "format_block_length_1";
MISUBC 61   case error::format_block_length_2: return "format_block_length_2"; 61   case error::format_block_length_2: return "format_block_length_2";
MISUBC 62   case error::format_transform: return "format_transform"; 62   case error::format_transform: return "format_transform";
MISUBC 63   case error::format_dictionary: return "format_dictionary"; 63   case error::format_dictionary: return "format_dictionary";
MISUBC 64   case error::format_window_bits: return "format_window_bits"; 64   case error::format_window_bits: return "format_window_bits";
MISUBC 65   case error::format_padding_1: return "format_padding_1"; 65   case error::format_padding_1: return "format_padding_1";
MISUBC 66   case error::format_padding_2: return "format_padding_2"; 66   case error::format_padding_2: return "format_padding_2";
MISUBC 67   case error::format_distance: return "format_distance"; 67   case error::format_distance: return "format_distance";
MISUBC 68   case error::compound_dictionary: return "compound_dictionary"; 68   case error::compound_dictionary: return "compound_dictionary";
MISUBC 69   case error::dictionary_not_set: return "dictionary_not_set"; 69   case error::dictionary_not_set: return "dictionary_not_set";
MISUBC 70   case error::invalid_arguments: return "invalid_arguments"; 70   case error::invalid_arguments: return "invalid_arguments";
MISUBC 71   case error::alloc_context_modes: return "alloc_context_modes"; 71   case error::alloc_context_modes: return "alloc_context_modes";
MISUBC 72   case error::alloc_tree_groups: return "alloc_tree_groups"; 72   case error::alloc_tree_groups: return "alloc_tree_groups";
MISUBC 73   case error::alloc_context_map: return "alloc_context_map"; 73   case error::alloc_context_map: return "alloc_context_map";
MISUBC 74   case error::alloc_ring_buffer_1: return "alloc_ring_buffer_1"; 74   case error::alloc_ring_buffer_1: return "alloc_ring_buffer_1";
MISUBC 75   case error::alloc_ring_buffer_2: return "alloc_ring_buffer_2"; 75   case error::alloc_ring_buffer_2: return "alloc_ring_buffer_2";
MISUBC 76   case error::alloc_block_type_trees: return "alloc_block_type_trees"; 76   case error::alloc_block_type_trees: return "alloc_block_type_trees";
MISUBC 77   case error::unreachable: return "unreachable"; 77   case error::unreachable: return "unreachable";
MISUBC 78   default: 78   default:
MISUBC 79   return "unknown"; 79   return "unknown";
80   } 80   }
81   } 81   }
82   82  
83   // msvc 14.0 has a bug that warns about inability 83   // msvc 14.0 has a bug that warns about inability
84   // to use constexpr construction here, even though 84   // to use constexpr construction here, even though
85   // there's no constexpr construction 85   // there's no constexpr construction
86   #if defined(_MSC_VER) && _MSC_VER <= 1900 86   #if defined(_MSC_VER) && _MSC_VER <= 1900
87   # pragma warning( push ) 87   # pragma warning( push )
88   # pragma warning( disable : 4592 ) 88   # pragma warning( disable : 4592 )
89   #endif 89   #endif
90   90  
91   #if defined(__cpp_constinit) && __cpp_constinit >= 201907L 91   #if defined(__cpp_constinit) && __cpp_constinit >= 201907L
92   constinit error_cat_type error_cat; 92   constinit error_cat_type error_cat;
93   #else 93   #else
94   error_cat_type error_cat; 94   error_cat_type error_cat;
95   #endif 95   #endif
96   96  
97   #if defined(_MSC_VER) && _MSC_VER <= 1900 97   #if defined(_MSC_VER) && _MSC_VER <= 1900
98   # pragma warning( pop ) 98   # pragma warning( pop )
99   #endif 99   #endif
100   100  
101   } // detail 101   } // detail
102   } // brotli 102   } // brotli
103   } // http 103   } // http
104   } // boost 104   } // boost