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