#include "net/base/load_states.h"
#include "net/base/net_errors.h"
#include "net/base/network_delegate.h"
+#include "net/filter/filter.h"
#include "net/http/http_response_headers.h"
#include "net/url_request/url_request.h"
void URLRequestJob::DetachRequest() {
request_ = NULL;
- OnDetachRequest();
}
// This function calls ReadData to get stream data. If a filter exists, passes
return false;
}
+int64 URLRequestJob::GetTotalReceivedBytes() const {
+ return 0;
+}
+
LoadState URLRequestJob::GetLoadState() const {
return LOAD_STATE_IDLE;
}
FollowRedirect(redirect_url, redirect_status_code);
}
+void URLRequestJob::ResumeNetworkStart() {
+ // This should only be called for HTTP Jobs, and implemented in the derived
+ // class.
+ NOTREACHED();
+}
+
bool URLRequestJob::GetMimeType(std::string* mime_type) const {
return false;
}
return request_->CanEnablePrivacyMode();
}
+void URLRequestJob::NotifyBeforeNetworkStart(bool* defer) {
+ if (!request_)
+ return;
+
+ request_->NotifyBeforeNetworkStart(defer);
+}
+
void URLRequestJob::NotifyHeadersComplete() {
if (!request_ || !request_->has_delegate())
return; // The request was destroyed, so there is no more work to do.
DCHECK(!has_handled_response_);
has_handled_response_ = true;
if (request_) {
+ // There may be relevant information in the response info even in the
+ // error case.
+ GetResponseInfo(&request_->response_info_);
+
request_->set_status(status);
request_->NotifyResponseStarted();
+ // We may have been deleted.
}
}
return rv;
}
+void URLRequestJob::DestroyFilters() {
+ filter_.reset();
+}
+
const URLRequestStatus URLRequestJob::GetStatus() {
if (request_)
return request_->status();