LCOV - code coverage report
Current view: top level - http/common - http_data.hpp (source / functions) Coverage Total Hit
Test: coverage_filtered.info Lines: 100.0 % 16 16
Test Date: 2026-02-20 15:38:22 Functions: 85.7 % 7 6

            Line data    Source code
       1              : #ifndef HTTP_DATA_FRAME_HPP
       2              : #define HTTP_DATA_FRAME_HPP
       3              : 
       4              : #include <memory>
       5              : #include "http_frame.hpp"
       6              : 
       7              : namespace thinger::http{
       8              : 
       9              : class http_data : public http_frame{
      10              : 
      11              : private:
      12              :     std::shared_ptr<data::out_data> data_;
      13              : public:
      14              : 
      15              :     http_data() = default;
      16              : 
      17           30 :     explicit http_data(std::shared_ptr<data::out_data> data) : data_(std::move(data))
      18           30 :     {}
      19              : 
      20           39 :     ~http_data() override = default;
      21              : 
      22              : public:
      23              : 
      24           24 :     void to_buffer(std::vector<boost::asio::const_buffer> &buffer) const override{
      25           24 :         if(data_){
      26           21 :             data_->to_buffer(buffer);
      27              :         }
      28           24 :     }
      29              : 
      30            9 :     void set_data(std::shared_ptr<data::out_data> data){
      31            9 :         data_ = std::move(data);
      32            9 :     }
      33              : 
      34           15 :     std::shared_ptr<data::out_data> get_data(){
      35           15 :         return data_;
      36              :     }
      37              : 
      38           24 :     size_t get_size() override{
      39           24 :         if(data_){
      40           18 :             return data_->get_size();
      41              :         }
      42            6 :         return 0;
      43              :     }
      44              : };
      45              : 
      46              : }
      47              : 
      48              : #endif
        

Generated by: LCOV version 2.0-1