Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(351)

Unified Diff: net/http/http_request_headers.h

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_proxy_client_socket_pool_unittest.cc ('k') | net/http/http_request_headers.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « net/http/http_proxy_client_socket_pool_unittest.cc ('k') | net/http/http_request_headers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698