| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/url_request/url_request.h" | 5 #include "net/url_request/url_request.h" |
| 6 | 6 |
| 7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/metrics/stats_counters.h" | 9 #include "base/metrics/stats_counters.h" |
| 10 #include "base/singleton.h" | 10 #include "base/singleton.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 // Discard headers which have meaning in POST (Content-Length, Content-Type, | 36 // Discard headers which have meaning in POST (Content-Length, Content-Type, |
| 37 // Origin). | 37 // Origin). |
| 38 void StripPostSpecificHeaders(net::HttpRequestHeaders* headers) { | 38 void StripPostSpecificHeaders(net::HttpRequestHeaders* headers) { |
| 39 // These are headers that may be attached to a POST. | 39 // These are headers that may be attached to a POST. |
| 40 headers->RemoveHeader(net::HttpRequestHeaders::kContentLength); | 40 headers->RemoveHeader(net::HttpRequestHeaders::kContentLength); |
| 41 headers->RemoveHeader(net::HttpRequestHeaders::kContentType); | 41 headers->RemoveHeader(net::HttpRequestHeaders::kContentType); |
| 42 headers->RemoveHeader(net::HttpRequestHeaders::kOrigin); | 42 headers->RemoveHeader(net::HttpRequestHeaders::kOrigin); |
| 43 } | 43 } |
| 44 | 44 |
| 45 // This counter keeps track of the identifiers used for URL requests so far. | 45 // This counter keeps track of the identifiers used for URL requests so far. |
| 46 uint64 g_next_url_request_identifier = 0; | 46 // 0 is reserved to represent an invalid ID. |
| 47 uint64 g_next_url_request_identifier = 1; |
| 47 | 48 |
| 48 // This lock protects g_next_url_request_identifier. | 49 // This lock protects g_next_url_request_identifier. |
| 49 base::Lock g_next_url_request_identifier_lock; | 50 base::Lock g_next_url_request_identifier_lock; |
| 50 | 51 |
| 51 // Returns an prior unused identifier for URL requests. | 52 // Returns an prior unused identifier for URL requests. |
| 52 uint64 GenerateURLRequestIdentifier() { | 53 uint64 GenerateURLRequestIdentifier() { |
| 53 base::AutoLock lock(g_next_url_request_identifier_lock); | 54 base::AutoLock lock(g_next_url_request_identifier_lock); |
| 54 return g_next_url_request_identifier++; | 55 return g_next_url_request_identifier++; |
| 55 } | 56 } |
| 56 | 57 |
| (...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 664 if (found != user_data_.end()) | 665 if (found != user_data_.end()) |
| 665 return found->second.get(); | 666 return found->second.get(); |
| 666 return NULL; | 667 return NULL; |
| 667 } | 668 } |
| 668 | 669 |
| 669 void URLRequest::SetUserData(const void* key, UserData* data) { | 670 void URLRequest::SetUserData(const void* key, UserData* data) { |
| 670 user_data_[key] = linked_ptr<UserData>(data); | 671 user_data_[key] = linked_ptr<UserData>(data); |
| 671 } | 672 } |
| 672 | 673 |
| 673 } // namespace net | 674 } // namespace net |
| OLD | NEW |