LCOV - code coverage report
Current view: top level - libs/beast2/src/server/route_handler.cpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 0.0 % 23 0
Test Date: 2025-11-13 15:50:43 Functions: 0.0 % 5 0

            Line data    Source code
       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/beast2
       8              : //
       9              : 
      10              : #include <boost/beast2/server/route_handler.hpp>
      11              : #include <boost/http_proto/string_body.hpp>
      12              : #include <boost/assert.hpp>
      13              : #include <cstring>
      14              : 
      15              : namespace boost {
      16              : namespace beast2 {
      17              : 
      18              : //------------------------------------------------
      19              : 
      20              : namespace detail {
      21              : 
      22              : const char*
      23            0 : route_cat_type::
      24              : name() const noexcept
      25              : {
      26            0 :     return "boost.http_proto.route";
      27              : }
      28              : 
      29              : std::string
      30            0 : route_cat_type::
      31              : message(int code) const
      32              : {
      33            0 :     return message(code, nullptr, 0);
      34              : }
      35              : 
      36              : char const*
      37            0 : route_cat_type::
      38              : message(
      39              :     int code,
      40              :     char*,
      41              :     std::size_t) const noexcept
      42              : {
      43            0 :     switch(static_cast<route>(code))
      44              :     {
      45            0 :     case route::send:    return "http_proto::route::send";
      46            0 :     case route::next:    return "http_proto::route::next";
      47            0 :     case route::close:   return "http_proto::route::close";
      48            0 :     case route::detach:  return "http_proto::route::detach";
      49            0 :     case route::done:    return "http_proto::route::done";
      50            0 :     default:
      51            0 :         return "http_proto::route::?";
      52              :     }
      53              : }
      54              : 
      55              : // msvc 14.0 has a bug that warns about inability
      56              : // to use constexpr construction here, even though
      57              : // there's no constexpr construction
      58              : #if defined(_MSC_VER) && _MSC_VER <= 1900
      59              : # pragma warning( push )
      60              : # pragma warning( disable : 4592 )
      61              : #endif
      62              : 
      63              : #if defined(__cpp_constinit) && __cpp_constinit >= 201907L
      64              : constinit route_cat_type route_cat;
      65              : #else
      66              : route_cat_type route_cat;
      67              : #endif
      68              : 
      69              : #if defined(_MSC_VER) && _MSC_VER <= 1900
      70              : # pragma warning( pop )
      71              : #endif
      72              : 
      73              : } // detail
      74              : 
      75              : //------------------------------------------------
      76              : 
      77              : Response&
      78            0 : Response::
      79              : status(
      80              :     http_proto::status code)
      81              : {
      82            0 :     m.set_start_line(code, m.version());
      83            0 :     return *this;
      84              : }
      85              : 
      86              : Response&
      87            0 : Response::
      88              : set_body(std::string s)
      89              : {
      90            0 :     if(! m.exists(http_proto::field::content_type))
      91              :     {
      92              :         // VFALCO TODO detect Content-Type
      93            0 :         m.set(http_proto::field::content_type,
      94              :             "text/plain; charset=UTF-8");
      95              :     }
      96              : 
      97            0 :     if(!m.exists(http_proto::field::content_length))
      98              :     {
      99            0 :         m.set_payload_size(s.size());
     100              :     }
     101              : 
     102            0 :     sr.start(m, http_proto::string_body(std::string(s)));
     103              : 
     104            0 :     return *this;
     105              : }
     106              : 
     107              : } // beast2
     108              : } // boost
        

Generated by: LCOV version 2.1