| Index: webrtc/base/httpclient.cc
|
| diff --git a/webrtc/base/httpclient.cc b/webrtc/base/httpclient.cc
|
| index e65eb9e80c4f05db2f500d91a923f7bee8669d34..a2570c4f4c2a4530e7b7561f5f907a06d2b67884 100644
|
| --- a/webrtc/base/httpclient.cc
|
| +++ b/webrtc/base/httpclient.cc
|
| @@ -37,8 +37,8 @@ const size_t kCacheBody = 1;
|
|
|
| // Convert decimal string to integer
|
| bool HttpStringToUInt(const std::string& str, size_t* val) {
|
| - RTC_DCHECK(NULL != val);
|
| - char* eos = NULL;
|
| + RTC_DCHECK(nullptr != val);
|
| + char* eos = nullptr;
|
| *val = strtoul(str.c_str(), &eos, 10);
|
| return (*eos == '\0');
|
| }
|
| @@ -46,8 +46,8 @@ bool HttpStringToUInt(const std::string& str, size_t* val) {
|
| bool HttpShouldCache(const HttpTransaction& t) {
|
| bool verb_allows_cache = (t.request.verb == HV_GET)
|
| || (t.request.verb == HV_HEAD);
|
| - bool is_range_response = t.response.hasHeader(HH_CONTENT_RANGE, NULL);
|
| - bool has_expires = t.response.hasHeader(HH_EXPIRES, NULL);
|
| + bool is_range_response = t.response.hasHeader(HH_CONTENT_RANGE, nullptr);
|
| + bool has_expires = t.response.hasHeader(HH_EXPIRES, nullptr);
|
| bool request_allows_cache =
|
| has_expires || (std::string::npos != t.request.path.find('?'));
|
| bool response_allows_cache =
|
| @@ -71,9 +71,9 @@ bool HttpShouldCache(const HttpTransaction& t) {
|
| // s-maxage - use as max-age for shared caches, ignore otherwise
|
| // must-revalidate - may cache, but must revalidate after stale
|
| // proxy-revalidate - shared cache must revalidate
|
| - if (HttpHasAttribute(directives, "no-store", NULL)) {
|
| + if (HttpHasAttribute(directives, "no-store", nullptr)) {
|
| may_cache = false;
|
| - } else if (HttpHasAttribute(directives, "public", NULL)) {
|
| + } else if (HttpHasAttribute(directives, "public", nullptr)) {
|
| may_cache = true;
|
| }
|
| }
|
| @@ -155,7 +155,7 @@ HttpValidatorStrength
|
| HttpRequestValidatorLevel(const HttpRequestData& request) {
|
| if (HV_GET != request.verb)
|
| return HVS_STRONG;
|
| - return request.hasHeader(HH_RANGE, NULL) ? HVS_STRONG : HVS_WEAK;
|
| + return request.hasHeader(HH_RANGE, nullptr) ? HVS_STRONG : HVS_WEAK;
|
| }
|
|
|
| HttpValidatorStrength
|
| @@ -209,14 +209,13 @@ bool HttpWriteCacheHeaders(const HttpResponseData* response,
|
| formatted_header.append(": ");
|
| formatted_header.append(it->second);
|
| formatted_header.append("\r\n");
|
| - StreamResult result = output->WriteAll(formatted_header.data(),
|
| - formatted_header.length(),
|
| - NULL, NULL);
|
| + StreamResult result = output->WriteAll(
|
| + formatted_header.data(), formatted_header.length(), nullptr, nullptr);
|
| if (SR_SUCCESS != result) {
|
| return false;
|
| }
|
| }
|
| - if (output && (SR_SUCCESS != output->WriteAll("\r\n", 2, NULL, NULL))) {
|
| + if (output && (SR_SUCCESS != output->WriteAll("\r\n", 2, nullptr, nullptr))) {
|
| return false;
|
| }
|
| length += 2;
|
| @@ -265,23 +264,30 @@ bool HttpReadCacheHeaders(StreamInterface* input, HttpResponseData* response,
|
| const size_t kDefaultRetries = 1;
|
| const size_t kMaxRedirects = 5;
|
|
|
| -HttpClient::HttpClient(const std::string& agent, StreamPool* pool,
|
| +HttpClient::HttpClient(const std::string& agent,
|
| + StreamPool* pool,
|
| HttpTransaction* transaction)
|
| - : agent_(agent), pool_(pool),
|
| - transaction_(transaction), free_transaction_(false),
|
| - retries_(kDefaultRetries), attempt_(0), redirects_(0),
|
| + : agent_(agent),
|
| + pool_(pool),
|
| + transaction_(transaction),
|
| + free_transaction_(false),
|
| + retries_(kDefaultRetries),
|
| + attempt_(0),
|
| + redirects_(0),
|
| redirect_action_(REDIRECT_DEFAULT),
|
| - uri_form_(URI_DEFAULT), cache_(NULL), cache_state_(CS_READY),
|
| - resolver_(NULL) {
|
| + uri_form_(URI_DEFAULT),
|
| + cache_(nullptr),
|
| + cache_state_(CS_READY),
|
| + resolver_(nullptr) {
|
| base_.notify(this);
|
| - if (NULL == transaction_) {
|
| + if (nullptr == transaction_) {
|
| free_transaction_ = true;
|
| transaction_ = new HttpTransaction;
|
| }
|
| }
|
|
|
| HttpClient::~HttpClient() {
|
| - base_.notify(NULL);
|
| + base_.notify(nullptr);
|
| base_.abort(HE_SHUTDOWN);
|
| if (resolver_) {
|
| resolver_->Destroy(false);
|
| @@ -307,7 +313,7 @@ void HttpClient::OnResolveResult(AsyncResolverInterface* resolver) {
|
| int error = resolver_->GetError();
|
| server_ = resolver_->address();
|
| resolver_->Destroy(false);
|
| - resolver_ = NULL;
|
| + resolver_ = nullptr;
|
| if (error != 0) {
|
| LOG(LS_ERROR) << "Error " << error << " resolving name: "
|
| << server_;
|
| @@ -343,7 +349,7 @@ void HttpClient::start() {
|
|
|
| RTC_DCHECK(!IsCacheActive());
|
|
|
| - if (request().hasHeader(HH_TRANSFER_ENCODING, NULL)) {
|
| + if (request().hasHeader(HH_TRANSFER_ENCODING, nullptr)) {
|
| // Exact size must be known on the client. Instead of using chunked
|
| // encoding, wrap data with auto-caching file or memory stream.
|
| RTC_NOTREACHED();
|
| @@ -388,7 +394,7 @@ void HttpClient::start() {
|
| }
|
| }
|
|
|
| - if ((NULL != cache_) && CheckCache()) {
|
| + if ((nullptr != cache_) && CheckCache()) {
|
| return;
|
| }
|
|
|
| @@ -402,7 +408,7 @@ void HttpClient::connect() {
|
| return;
|
| }
|
| StreamInterface* stream = pool_->RequestConnectedStream(server_, &stream_err);
|
| - if (stream == NULL) {
|
| + if (stream == nullptr) {
|
| RTC_DCHECK(0 != stream_err);
|
| LOG(LS_ERROR) << "RequestConnectedStream error: " << stream_err;
|
| onHttpComplete(HM_CONNECT, HE_CONNECT_FAILED);
|
| @@ -453,7 +459,7 @@ bool HttpClient::ShouldRedirect(std::string* location) const {
|
| }
|
|
|
| bool HttpClient::BeginCacheFile() {
|
| - RTC_DCHECK(NULL != cache_);
|
| + RTC_DCHECK(nullptr != cache_);
|
| RTC_DCHECK(CS_READY == cache_state_);
|
|
|
| std::string id = GetCacheID(request());
|
| @@ -494,7 +500,7 @@ HttpError HttpClient::WriteCacheHeaders(const std::string& id) {
|
| return HE_CACHE;
|
| }
|
|
|
| - if (!HttpWriteCacheHeaders(&transaction_->response, stream.get(), NULL)) {
|
| + if (!HttpWriteCacheHeaders(&transaction_->response, stream.get(), nullptr)) {
|
| LOG_F(LS_ERROR) << "Couldn't write header cache";
|
| return HE_CACHE;
|
| }
|
| @@ -520,7 +526,7 @@ void HttpClient::CompleteCacheFile() {
|
| }
|
|
|
| bool HttpClient::CheckCache() {
|
| - RTC_DCHECK(NULL != cache_);
|
| + RTC_DCHECK(nullptr != cache_);
|
| RTC_DCHECK(CS_READY == cache_state_);
|
|
|
| std::string id = GetCacheID(request());
|
| @@ -691,9 +697,9 @@ HttpError HttpClient::onHttpHeaderComplete(bool chunked, size_t& data_size) {
|
| // HEAD requests and certain response codes contain no body
|
| data_size = 0;
|
| }
|
| - if (ShouldRedirect(NULL)
|
| - || ((HC_PROXY_AUTHENTICATION_REQUIRED == response().scode)
|
| - && (PROXY_HTTPS == proxy_.type))) {
|
| + if (ShouldRedirect(nullptr) ||
|
| + ((HC_PROXY_AUTHENTICATION_REQUIRED == response().scode) &&
|
| + (PROXY_HTTPS == proxy_.type))) {
|
| // We're going to issue another request, so ignore the incoming data.
|
| base_.set_ignore_data(true);
|
| }
|
| @@ -703,9 +709,8 @@ HttpError HttpClient::onHttpHeaderComplete(bool chunked, size_t& data_size) {
|
| return error;
|
| }
|
|
|
| - if ((NULL != cache_)
|
| - && !base_.ignore_data()
|
| - && HttpShouldCache(*transaction_)) {
|
| + if ((nullptr != cache_) && !base_.ignore_data() &&
|
| + HttpShouldCache(*transaction_)) {
|
| if (BeginCacheFile()) {
|
| cache_state_ = CS_WRITING;
|
| }
|
| @@ -827,7 +832,7 @@ HttpClientDefault::HttpClientDefault(SocketFactory* factory,
|
| const std::string& agent,
|
| HttpTransaction* transaction)
|
| : ReuseSocketPool(factory ? factory : Thread::Current()->socketserver()),
|
| - HttpClient(agent, NULL, transaction) {
|
| + HttpClient(agent, nullptr, transaction) {
|
| set_pool(this);
|
| }
|
|
|
|
|