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

Unified Diff: net/network_request_impl.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 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/network_request.cc ('k') | net/network_request_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/network_request_impl.h
diff --git a/net/network_request_impl.h b/net/network_request_impl.h
deleted file mode 100644
index b12845ff4c2e26f7b773d306c7be4af3b6f56eae..0000000000000000000000000000000000000000
--- a/net/network_request_impl.h
+++ /dev/null
@@ -1,216 +0,0 @@
-// Copyright 2007-2010 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-//
-// The class structure is as following:
-// - NetworkRequest and the underlying NetworkRequestImpl provide fault
-// tolerant client server http transactions.
-// - HttpRequestInterface defines an interface for different mechanisms that
-// can move bytes between the client and the server. These mechanisms are
-// chained up so that the control passes from one mechanism to the next
-// until one of them is able to fulfill the request or an error is
-// generated. Currently, SimpleRequest and BitsRequest are provided.
-// - HttpClient is the c++ wrapper over winhttp-wininet.
-
-#ifndef OMAHA_NET_NETWORK_REQUEST_IMPL_H__
-#define OMAHA_NET_NETWORK_REQUEST_IMPL_H__
-
-#include <windows.h>
-#include <atlstr.h>
-#include <vector>
-#include "base/basictypes.h"
-#include "base/scoped_ptr.h"
-#include "omaha/base/scoped_any.h"
-#include "omaha/base/synchronized.h"
-#include "omaha/net/network_config.h"
-#include "omaha/net/network_request.h"
-#include "omaha/net/http_request.h"
-
-namespace omaha {
-
-namespace detail {
-
-class NetworkRequestImpl {
- public:
- explicit NetworkRequestImpl(const NetworkConfig::Session& network_session);
- ~NetworkRequestImpl();
-
- HRESULT Close();
-
- void AddHttpRequest(HttpRequestInterface* http_request);
-
- HRESULT Post(const CString& url,
- const void* buffer,
- size_t length,
- std::vector<uint8>* response);
- HRESULT Get(const CString& url, std::vector<uint8>* response);
- HRESULT DownloadFile(const CString& url, const CString& filename);
-
- HRESULT Pause();
- HRESULT Resume();
- HRESULT Cancel();
-
- void AddHeader(const TCHAR* name, const TCHAR* value);
-
- HRESULT QueryHeadersString(uint32 info_level,
- const TCHAR* name,
- CString* value);
-
- int http_status_code() const { return http_status_code_; }
-
- CString response_headers() const { return response_headers_; }
-
- void set_proxy_auth_config(const ProxyAuthConfig& proxy_auth_config) {
- proxy_auth_config_ = proxy_auth_config;
- }
-
- void set_num_retries(int num_retries) { num_retries_ = num_retries; }
-
- void set_time_between_retries(int time_between_retries_ms) {
- time_between_retries_ms_ = time_between_retries_ms;
- }
-
- void set_callback(NetworkRequestCallback* callback) {
- callback_ = callback;
- }
-
- void set_low_priority(bool low_priority) { low_priority_ = low_priority; }
-
- void set_proxy_configuration(const ProxyConfig* proxy_configuration) {
- if (proxy_configuration) {
- proxy_configuration_.reset(new ProxyConfig);
- *proxy_configuration_ = *proxy_configuration;
- } else {
- proxy_configuration_.reset();
- }
- }
-
- void set_preserve_protocol(bool preserve_protocol) {
- preserve_protocol_ = preserve_protocol;
- }
-
- CString trace() const { return trace_; }
-
- // Detects the available proxy configurations and returns the chain of
- // configurations to be used.
- void DetectProxyConfiguration(
- std::vector<ProxyConfig>* proxy_configurations) const;
-
- private:
- // Resets the state of the output data members.
- void Reset();
-
- // Sends the request with a retry policy. This is the only function that
- // modifies the state of the output data members: the status code, the
- // response headers, and the response. When errors are encountered, the
- // output data members contain the values corresponding to first network
- // configuration and first HttpRequest instance in the fallback chain.
- HRESULT DoSendWithRetries();
-
- // Sends a single request and receives the response.
- HRESULT DoSend(int* http_status_code,
- CString* response_headers,
- std::vector<uint8>* response) const;
-
- // Sends the request using the current configuration. The request is tried for
- // each HttpRequestInterface in the fallback chain until one of them succeeds
- // or the end of the chain is reached.
- HRESULT DoSendWithConfig(int* http_status_code,
- CString* response_headers,
- std::vector<uint8>* response) const;
-
- // Sends an http request using the current HttpRequest interface over the
- // current network configuration.
- HRESULT DoSendHttpRequest(int* http_status_code,
- CString* response_headers,
- std::vector<uint8>* response) const;
-
- // Builds headers for the current HttpRequest and network configuration.
- CString BuildPerRequestHeaders() const;
-
- // Specifies the chain of HttpRequestInterface to handle the request.
- std::vector<HttpRequestInterface*> http_request_chain_;
-
- // Specifies the detected proxy configurations.
- std::vector<ProxyConfig> proxy_configurations_;
-
- // Specifies the proxy configuration override. When set, the proxy
- // configurations are not auto detected.
- scoped_ptr<ProxyConfig> proxy_configuration_;
-
- // Input data members.
- // The request and response buffers are owner by the caller.
- CString url_;
- const void* request_buffer_; // Contains the request body for POST.
- size_t request_buffer_length_; // Length of the request body.
- CString filename_; // Contains the response for downloads.
- CString additional_headers_; // Headers common to all requests.
- // Each header is separated by \r\n.
- ProxyAuthConfig proxy_auth_config_;
- int num_retries_;
- bool low_priority_;
- int time_between_retries_ms_;
-
- // Output data members.
- int http_status_code_;
- CString response_headers_; // Each header is separated by \r\n.
- std::vector<uint8>* response_; // Contains the response for Post and Get.
-
- const NetworkConfig::Session network_session_;
- NetworkRequestCallback* callback_;
-
- // The http request and the network configuration currently in use.
- mutable HttpRequestInterface* cur_http_request_;
- mutable const ProxyConfig* cur_proxy_config_;
-
- // The HRESULT and HTTP status code updated by the prior
- // DoSendHttpRequest() call.
- mutable HRESULT last_hr_;
- mutable int last_http_status_code_;
-
- // The current retry count defined by the outermost DoSendWithRetries() call.
- int cur_retry_count_;
-
- volatile LONG is_canceled_;
- scoped_event event_cancel_;
-
- LLock lock_;
-
- bool preserve_protocol_;
-
- // Contains the trace of the request as handled by the fallback chain.
- mutable CString trace_;
-
- static const int kDefaultTimeBetweenRetriesMs = 5000; // 5 seconds.
- static const int kTimeBetweenRetriesMultiplier = 2;
-
- DISALLOW_EVIL_CONSTRUCTORS(NetworkRequestImpl);
-};
-
-HRESULT PostRequest(NetworkRequest* network_request,
- bool fallback_to_https,
- const CString& url,
- const CString& request_string,
- std::vector<uint8>* response);
-
-HRESULT GetRequest(NetworkRequest* network_request,
- const CString& url,
- std::vector<uint8>* response);
-
-} // namespace detail
-
-} // namespace omaha
-
-#endif // OMAHA_NET_NETWORK_REQUEST_IMPL_H__
-
« no previous file with comments | « net/network_request.cc ('k') | net/network_request_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698