Index: net/http/http_request_headers.h |
diff --git a/net/http/http_request_headers.h b/net/http/http_request_headers.h |
deleted file mode 100644 |
index 617811741abb8990a45b98119146faad472b9350..0000000000000000000000000000000000000000 |
--- a/net/http/http_request_headers.h |
+++ /dev/null |
@@ -1,177 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
-// |
-// HttpRequestHeaders manages the request headers. |
-// It maintains these in a vector of header key/value pairs, thereby maintaining |
-// the order of the headers. This means that any lookups are linear time |
-// operations. |
- |
-#ifndef NET_HTTP_HTTP_REQUEST_HEADERS_H_ |
-#define NET_HTTP_HTTP_REQUEST_HEADERS_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/strings/string_piece.h" |
-#include "net/base/net_export.h" |
-#include "net/base/net_log.h" |
- |
-namespace net { |
- |
-class NET_EXPORT HttpRequestHeaders { |
- public: |
- struct HeaderKeyValuePair { |
- HeaderKeyValuePair(); |
- HeaderKeyValuePair(const base::StringPiece& key, |
- const base::StringPiece& value); |
- |
- std::string key; |
- std::string value; |
- }; |
- |
- typedef std::vector<HeaderKeyValuePair> HeaderVector; |
- |
- class NET_EXPORT Iterator { |
- public: |
- explicit Iterator(const HttpRequestHeaders& headers); |
- ~Iterator(); |
- |
- // Advances the iterator to the next header, if any. Returns true if there |
- // is a next header. Use name() and value() methods to access the resultant |
- // header name and value. |
- bool GetNext(); |
- |
- // These two accessors are only valid if GetNext() returned true. |
- const std::string& name() const { return curr_->key; } |
- const std::string& value() const { return curr_->value; } |
- |
- private: |
- bool started_; |
- HttpRequestHeaders::HeaderVector::const_iterator curr_; |
- const HttpRequestHeaders::HeaderVector::const_iterator end_; |
- |
- DISALLOW_COPY_AND_ASSIGN(Iterator); |
- }; |
- |
- static const char kGetMethod[]; |
- |
- static const char kAcceptCharset[]; |
- static const char kAcceptEncoding[]; |
- static const char kAcceptLanguage[]; |
- static const char kAuthorization[]; |
- static const char kCacheControl[]; |
- static const char kConnection[]; |
- static const char kContentType[]; |
- static const char kCookie[]; |
- static const char kContentLength[]; |
- static const char kHost[]; |
- static const char kIfModifiedSince[]; |
- static const char kIfNoneMatch[]; |
- static const char kIfRange[]; |
- static const char kOrigin[]; |
- static const char kPragma[]; |
- static const char kProxyAuthorization[]; |
- static const char kProxyConnection[]; |
- static const char kRange[]; |
- static const char kReferer[]; |
- static const char kUserAgent[]; |
- static const char kTransferEncoding[]; |
- |
- HttpRequestHeaders(); |
- ~HttpRequestHeaders(); |
- |
- bool IsEmpty() const { return headers_.empty(); } |
- |
- bool HasHeader(const base::StringPiece& key) const { |
- return FindHeader(key) != headers_.end(); |
- } |
- |
- // Gets the first header that matches |key|. If found, returns true and |
- // writes the value to |out|. |
- bool GetHeader(const base::StringPiece& key, std::string* out) const; |
- |
- // Clears all the headers. |
- void Clear(); |
- |
- // Sets the header value pair for |key| and |value|. If |key| already exists, |
- // then the header value is modified, but the key is untouched, and the order |
- // in the vector remains the same. When comparing |key|, case is ignored. |
- void SetHeader(const base::StringPiece& key, const base::StringPiece& value); |
- |
- // Sets the header value pair for |key| and |value|, if |key| does not exist. |
- // If |key| already exists, the call is a no-op. |
- // When comparing |key|, case is ignored. |
- void SetHeaderIfMissing(const base::StringPiece& key, |
- const base::StringPiece& value); |
- |
- // Removes the first header that matches (case insensitive) |key|. |
- void RemoveHeader(const base::StringPiece& key); |
- |
- // Parses the header from a string and calls SetHeader() with it. This string |
- // should not contain any CRLF. As per RFC2616, the format is: |
- // |
- // message-header = field-name ":" [ field-value ] |
- // field-name = token |
- // field-value = *( field-content | LWS ) |
- // field-content = <the OCTETs making up the field-value |
- // and consisting of either *TEXT or combinations |
- // of token, separators, and quoted-string> |
- // |
- // AddHeaderFromString() will trim any LWS surrounding the |
- // field-content. |
- void AddHeaderFromString(const base::StringPiece& header_line); |
- |
- // Same thing as AddHeaderFromString() except that |headers| is a "\r\n" |
- // delimited string of header lines. It will split up the string by "\r\n" |
- // and call AddHeaderFromString() on each. |
- void AddHeadersFromString(const base::StringPiece& headers); |
- |
- // Calls SetHeader() on each header from |other|, maintaining order. |
- void MergeFrom(const HttpRequestHeaders& other); |
- |
- // Copies from |other| to |this|. |
- void CopyFrom(const HttpRequestHeaders& other) { |
- *this = other; |
- } |
- |
- void Swap(HttpRequestHeaders* other) { |
- headers_.swap(other->headers_); |
- } |
- |
- // Serializes HttpRequestHeaders to a string representation. Joins all the |
- // header keys and values with ": ", and inserts "\r\n" between each header |
- // line, and adds the trailing "\r\n". |
- std::string ToString() const; |
- |
- // Takes in the request line and returns a Value for use with the NetLog |
- // containing both the request line and all headers fields. |
- base::Value* NetLogCallback(const std::string* request_line, |
- NetLog::LogLevel log_level) const; |
- |
- // Takes in a Value created by the above function, and attempts to extract the |
- // request line and create a copy of the original headers. Returns true on |
- // success. On failure, clears |headers| and |request_line|. |
- // TODO(mmenke): Long term, we want to remove this, and migrate external |
- // consumers to be NetworkDelegates. |
- static bool FromNetLogParam(const base::Value* event_param, |
- HttpRequestHeaders* headers, |
- std::string* request_line); |
- |
- private: |
- HeaderVector::iterator FindHeader(const base::StringPiece& key); |
- HeaderVector::const_iterator FindHeader(const base::StringPiece& key) const; |
- |
- HeaderVector headers_; |
- |
- // Allow the copy construction and operator= to facilitate copying in |
- // HttpRequestHeaders. |
- // TODO(willchan): Investigate to see if we can remove the need to copy |
- // HttpRequestHeaders. |
- // DISALLOW_COPY_AND_ASSIGN(HttpRequestHeaders); |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_HTTP_HTTP_REQUEST_HEADERS_H_ |