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 % 19 19
Test Date: 2026-11-10 10:38:07 Functions: 88.9 % 9 8

            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          553 :     http_data() = default;
      16              : 
      17        15185 :     explicit http_data(std::shared_ptr<data::out_data> data) : data_(std::move(data))
      18        15185 :     {}
      19              : 
      20        15738 :     ~http_data() override = default;
      21              : 
      22              : public:
      23              : 
      24        15864 :     frame_kind kind() const override {
      25        15864 :         return frame_kind::data;
      26              :     }
      27              : 
      28        15714 :     void to_buffer(std::vector<boost::asio::const_buffer> &buffer) const override{
      29        15714 :         if(data_){
      30        15173 :             data_->to_buffer(buffer);
      31              :         }
      32        15714 :     }
      33              : 
      34            9 :     void set_data(std::shared_ptr<data::out_data> data){
      35            9 :         data_ = std::move(data);
      36            9 :     }
      37              : 
      38           15 :     std::shared_ptr<data::out_data> get_data(){
      39           15 :         return data_;
      40              :     }
      41              : 
      42           24 :     size_t get_size() override{
      43           24 :         if(data_){
      44           18 :             return data_->get_size();
      45              :         }
      46            6 :         return 0;
      47              :     }
      48              : };
      49              : 
      50              : }
      51              : 
      52              : #endif
        

Generated by: LCOV version 2.0-1