net: add api to set request flags for testing
This commit is contained in:
		
					parent
					
						
							
								35349643af
							
						
					
				
			
			
				commit
				
					
						7456b9ae17
					
				
			
		
					 4 changed files with 32 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -176,6 +176,7 @@ void URLRequest::BuildPrototype(v8::Isolate* isolate,
 | 
			
		|||
      .SetMethod("setExtraHeader", &URLRequest::SetExtraHeader)
 | 
			
		||||
      .SetMethod("removeExtraHeader", &URLRequest::RemoveExtraHeader)
 | 
			
		||||
      .SetMethod("setChunkedUpload", &URLRequest::SetChunkedUpload)
 | 
			
		||||
      .SetMethod("_setLoadFlags", &URLRequest::SetLoadFlags)
 | 
			
		||||
      .SetProperty("notStarted", &URLRequest::NotStarted)
 | 
			
		||||
      .SetProperty("finished", &URLRequest::Finished)
 | 
			
		||||
      // Response APi
 | 
			
		||||
| 
						 | 
				
			
			@ -292,6 +293,18 @@ void URLRequest::SetChunkedUpload(bool is_chunked_upload) {
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void URLRequest::SetLoadFlags(int flags) {
 | 
			
		||||
  // State must be equal to not started.
 | 
			
		||||
  if (!request_state_.NotStarted()) {
 | 
			
		||||
    // Cannot change load flags after start.
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  DCHECK(atom_request_);
 | 
			
		||||
  if (atom_request_) {
 | 
			
		||||
    atom_request_->SetLoadFlags(flags);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void URLRequest::OnAuthenticationRequired(
 | 
			
		||||
    scoped_refptr<const net::AuthChallengeInfo> auth_info) {
 | 
			
		||||
  if (request_state_.Canceled() || request_state_.Closed()) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -173,6 +173,7 @@ class URLRequest : public mate::EventEmitter<URLRequest> {
 | 
			
		|||
  bool SetExtraHeader(const std::string& name, const std::string& value);
 | 
			
		||||
  void RemoveExtraHeader(const std::string& name);
 | 
			
		||||
  void SetChunkedUpload(bool is_chunked_upload);
 | 
			
		||||
  void SetLoadFlags(int flags);
 | 
			
		||||
 | 
			
		||||
  int StatusCode() const;
 | 
			
		||||
  std::string StatusMessage() const;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,6 +177,13 @@ void AtomURLRequest::PassLoginInformation(
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AtomURLRequest::SetLoadFlags(int flags) const {
 | 
			
		||||
  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 | 
			
		||||
  content::BrowserThread::PostTask(
 | 
			
		||||
      content::BrowserThread::IO, FROM_HERE,
 | 
			
		||||
      base::Bind(&AtomURLRequest::DoSetLoadFlags, this, flags));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AtomURLRequest::DoWriteBuffer(
 | 
			
		||||
    scoped_refptr<const net::IOBufferWithSize> buffer,
 | 
			
		||||
    bool is_last) {
 | 
			
		||||
| 
						 | 
				
			
			@ -244,6 +251,7 @@ void AtomURLRequest::DoSetExtraHeader(const std::string& name,
 | 
			
		|||
  }
 | 
			
		||||
  request_->SetExtraRequestHeaderByName(name, value, true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AtomURLRequest::DoRemoveExtraHeader(const std::string& name) const {
 | 
			
		||||
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 | 
			
		||||
  if (!request_) {
 | 
			
		||||
| 
						 | 
				
			
			@ -278,6 +286,14 @@ void AtomURLRequest::DoCancelWithError(const std::string& error,
 | 
			
		|||
                 isRequestError));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AtomURLRequest::DoSetLoadFlags(int flags) const {
 | 
			
		||||
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 | 
			
		||||
  if (!request_) {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  request_->SetLoadFlags(request_->load_flags() | flags);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AtomURLRequest::OnAuthRequired(net::URLRequest* request,
 | 
			
		||||
                                    net::AuthChallengeInfo* auth_info) {
 | 
			
		||||
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,6 +40,7 @@ class AtomURLRequest : public base::RefCountedThreadSafe<AtomURLRequest>,
 | 
			
		|||
  void RemoveExtraHeader(const std::string& name) const;
 | 
			
		||||
  void PassLoginInformation(const base::string16& username,
 | 
			
		||||
                            const base::string16& password) const;
 | 
			
		||||
  void SetLoadFlags(int flags) const;
 | 
			
		||||
 | 
			
		||||
 protected:
 | 
			
		||||
  // Overrides of net::URLRequest::Delegate
 | 
			
		||||
| 
						 | 
				
			
			@ -71,6 +72,7 @@ class AtomURLRequest : public base::RefCountedThreadSafe<AtomURLRequest>,
 | 
			
		|||
                 const base::string16& password) const;
 | 
			
		||||
  void DoCancelAuth() const;
 | 
			
		||||
  void DoCancelWithError(const std::string& error, bool isRequestError);
 | 
			
		||||
  void DoSetLoadFlags(int flags) const;
 | 
			
		||||
 | 
			
		||||
  void ReadResponse();
 | 
			
		||||
  bool CopyAndPostBuffer(int bytes_read);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue