LCOV - code coverage report
Current view: top level - envoy/http - query_params.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 1 1 100.0 %
Date: 2024-01-05 06:35:25 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include <map>
       4             : #include <string>
       5             : #include <vector>
       6             : 
       7             : #include "absl/container/btree_map.h"
       8             : #include "absl/strings/string_view.h"
       9             : #include "absl/types/optional.h"
      10             : #include "header_map.h"
      11             : 
      12             : namespace Envoy {
      13             : namespace Http {
      14             : namespace Utility {
      15             : 
      16             : using QueryParamsVector = std::vector<std::pair<std::string, std::string>>;
      17             : 
      18             : class QueryParamsMulti {
      19             : private:
      20             :   absl::btree_map<std::string, std::vector<std::string>> data_;
      21             : 
      22             : public:
      23             :   void remove(absl::string_view key);
      24             :   void add(absl::string_view key, absl::string_view value);
      25             :   void overwrite(absl::string_view key, absl::string_view value);
      26             :   std::string toString() const;
      27             :   std::string replaceQueryString(const HeaderString& path) const;
      28             :   absl::optional<std::string> getFirstValue(absl::string_view key) const;
      29             : 
      30          98 :   const absl::btree_map<std::string, std::vector<std::string>>& data() const { return data_; }
      31             : 
      32             :   static QueryParamsMulti parseParameters(absl::string_view data, size_t start, bool decode_params);
      33             :   static QueryParamsMulti parseQueryString(absl::string_view url);
      34             :   static QueryParamsMulti parseAndDecodeQueryString(absl::string_view url);
      35             : };
      36             : 
      37             : } // namespace Utility
      38             : } // namespace Http
      39             : } // namespace Envoy

Generated by: LCOV version 1.15