@@ -22,48 +22,50 @@ namespace cloud {
2222namespace rest_internal {
2323GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
2424
25- HttpHeader::HttpHeader (std::string key) : key_ (std::move(key)) {}
25+ HttpHeader::HttpHeader (HttpHeaderName key) : name_ (std::move(key)) {}
2626
27- HttpHeader::HttpHeader (std::string key , std::string value )
28- : key_ (std::move(key)), values_({ std::move (value)} ) {}
27+ HttpHeader::HttpHeader (std::pair<std:: string, std::string> header )
28+ : HttpHeader (std::move(header.first), std::move(header.second) ) {}
2929
30- HttpHeader::HttpHeader (std::string key, std::vector<std:: string> values )
31- : key_ (std::move(key)), values_(std::move(values) ) {}
30+ HttpHeader::HttpHeader (HttpHeaderName key, std::string value )
31+ : name_ (std::move(key)), values_({ std::move (value)} ) {}
3232
33- HttpHeader::HttpHeader (std::string key,
33+ HttpHeader::HttpHeader (HttpHeaderName key, std::vector<std::string> values)
34+ : name_(std::move(key)), values_(std::move(values)) {}
35+
36+ HttpHeader::HttpHeader (HttpHeaderName key,
3437 std::initializer_list<char const *> values)
35- : key_ (std::move(key)) {
38+ : name_ (std::move(key)) {
3639 for (auto && v : values) values_.emplace_back (v);
3740}
3841
3942bool operator ==(HttpHeader const & lhs, HttpHeader const & rhs) {
40- return absl::AsciiStrToLower (lhs.key_ ) == absl::AsciiStrToLower (rhs.key_ ) &&
41- lhs.values_ == rhs.values_ ;
43+ return lhs.name_ == rhs.name_ && lhs.values_ == rhs.values_ ;
4244}
4345
4446bool operator <(HttpHeader const & lhs, HttpHeader const & rhs) {
45- return absl::AsciiStrToLower ( lhs.key_ ) < absl::AsciiStrToLower ( rhs.key_ ) ;
47+ return lhs.name_ < rhs.name_ ;
4648}
4749
48- bool HttpHeader::IsSameKey (std::string const & key ) const {
49- return absl::AsciiStrToLower (key_) == absl::AsciiStrToLower (key );
50+ bool HttpHeader::IsSameKey (HttpHeaderName const & name ) const {
51+ return name_ == name. name ( );
5052}
5153
5254bool HttpHeader::IsSameKey (HttpHeader const & other) const {
53- return IsSameKey ( other.key_ ) ;
55+ return name_ == other.name_ ;
5456}
5557
5658HttpHeader::operator std::string () const {
57- if (key_ .empty ()) return {};
58- if (values_.empty ()) return absl::StrCat (key_ , " :" );
59- return absl::StrCat (key_ , " : " , absl::StrJoin (values_, " ," ));
59+ if (name_ .empty ()) return {};
60+ if (values_.empty ()) return absl::StrCat (name_. name () , " :" );
61+ return absl::StrCat (name_. name () , " : " , absl::StrJoin (values_, " ," ));
6062}
6163
6264std::string HttpHeader::DebugString () const {
63- if (key_ .empty ()) return {};
64- if (values_.empty ()) return absl::StrCat (key_ , " :" );
65+ if (name_ .empty ()) return {};
66+ if (values_.empty ()) return absl::StrCat (name_. name () , " :" );
6567 return absl::StrCat (
66- key_ , " : " ,
68+ name_. name () , " : " ,
6769 absl::StrJoin (values_, " ," , [](std::string* out, std::string const & v) {
6870 absl::StrAppend (out, v.substr (0 , 10 ));
6971 }));
0 commit comments