0.00% Lines (0/25)
0.00% Functions (0/1)
| TLA | Baseline | Branch | ||||||
|---|---|---|---|---|---|---|---|---|
| Line | Hits | Code | Line | Hits | Code | |||
| 1 | // | 1 | // | |||||
| 2 | // Copyright (c) 2025 Vinnie Falco (vinnie.falco@gmail.com) | 2 | // Copyright (c) 2025 Vinnie Falco (vinnie.falco@gmail.com) | |||||
| 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/server/escape_html.hpp> | 10 | #include <boost/http/server/escape_html.hpp> | |||||
| 11 | 11 | |||||||
| 12 | namespace boost { | 12 | namespace boost { | |||||
| 13 | namespace http { | 13 | namespace http { | |||||
| 14 | 14 | |||||||
| 15 | std::string | 15 | std::string | |||||
| MISUBC | 16 | ✗ | escape_html( core::string_view s ) | 16 | ✗ | escape_html( core::string_view s ) | ||
| 17 | { | 17 | { | |||||
| MISUBC | 18 | ✗ | std::string result; | 18 | ✗ | std::string result; | ||
| MISUBC | 19 | ✗ | result.reserve( s.size() ); | 19 | ✗ | result.reserve( s.size() ); | ||
| 20 | 20 | |||||||
| MISUBC | 21 | ✗ | for( char c : s ) | 21 | ✗ | for( char c : s ) | ||
| 22 | { | 22 | { | |||||
| MISUBC | 23 | ✗ | switch( c ) | 23 | ✗ | switch( c ) | ||
| 24 | { | 24 | { | |||||
| MISUBC | 25 | ✗ | case '&': | 25 | ✗ | case '&': | ||
| MISUBC | 26 | ✗ | result.append( "&" ); | 26 | ✗ | result.append( "&" ); | ||
| MISUBC | 27 | ✗ | break; | 27 | ✗ | break; | ||
| MISUBC | 28 | ✗ | case '<': | 28 | ✗ | case '<': | ||
| MISUBC | 29 | ✗ | result.append( "<" ); | 29 | ✗ | result.append( "<" ); | ||
| MISUBC | 30 | ✗ | break; | 30 | ✗ | break; | ||
| MISUBC | 31 | ✗ | case '>': | 31 | ✗ | case '>': | ||
| MISUBC | 32 | ✗ | result.append( ">" ); | 32 | ✗ | result.append( ">" ); | ||
| MISUBC | 33 | ✗ | break; | 33 | ✗ | break; | ||
| MISUBC | 34 | ✗ | case '"': | 34 | ✗ | case '"': | ||
| MISUBC | 35 | ✗ | result.append( """ ); | 35 | ✗ | result.append( """ ); | ||
| MISUBC | 36 | ✗ | break; | 36 | ✗ | break; | ||
| MISUBC | 37 | ✗ | case '\'': | 37 | ✗ | case '\'': | ||
| MISUBC | 38 | ✗ | result.append( "'" ); | 38 | ✗ | result.append( "'" ); | ||
| MISUBC | 39 | ✗ | break; | 39 | ✗ | break; | ||
| MISUBC | 40 | ✗ | default: | 40 | ✗ | default: | ||
| MISUBC | 41 | ✗ | result.push_back( c ); | 41 | ✗ | result.push_back( c ); | ||
| MISUBC | 42 | ✗ | break; | 42 | ✗ | break; | ||
| 43 | } | 43 | } | |||||
| 44 | } | 44 | } | |||||
| 45 | 45 | |||||||
| MISUBC | 46 | ✗ | return result; | 46 | ✗ | return result; | ||
| MISUBC | 47 | ✗ | } | 47 | ✗ | } | ||
| 48 | 48 | |||||||
| 49 | } // http | 49 | } // http | |||||
| 50 | } // boost | 50 | } // boost | |||||