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("setExtraHeader", &URLRequest::SetExtraHeader)
 | 
				
			||||||
      .SetMethod("removeExtraHeader", &URLRequest::RemoveExtraHeader)
 | 
					      .SetMethod("removeExtraHeader", &URLRequest::RemoveExtraHeader)
 | 
				
			||||||
      .SetMethod("setChunkedUpload", &URLRequest::SetChunkedUpload)
 | 
					      .SetMethod("setChunkedUpload", &URLRequest::SetChunkedUpload)
 | 
				
			||||||
 | 
					      .SetMethod("_setLoadFlags", &URLRequest::SetLoadFlags)
 | 
				
			||||||
      .SetProperty("notStarted", &URLRequest::NotStarted)
 | 
					      .SetProperty("notStarted", &URLRequest::NotStarted)
 | 
				
			||||||
      .SetProperty("finished", &URLRequest::Finished)
 | 
					      .SetProperty("finished", &URLRequest::Finished)
 | 
				
			||||||
      // Response APi
 | 
					      // 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(
 | 
					void URLRequest::OnAuthenticationRequired(
 | 
				
			||||||
    scoped_refptr<const net::AuthChallengeInfo> auth_info) {
 | 
					    scoped_refptr<const net::AuthChallengeInfo> auth_info) {
 | 
				
			||||||
  if (request_state_.Canceled() || request_state_.Closed()) {
 | 
					  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);
 | 
					  bool SetExtraHeader(const std::string& name, const std::string& value);
 | 
				
			||||||
  void RemoveExtraHeader(const std::string& name);
 | 
					  void RemoveExtraHeader(const std::string& name);
 | 
				
			||||||
  void SetChunkedUpload(bool is_chunked_upload);
 | 
					  void SetChunkedUpload(bool is_chunked_upload);
 | 
				
			||||||
 | 
					  void SetLoadFlags(int flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int StatusCode() const;
 | 
					  int StatusCode() const;
 | 
				
			||||||
  std::string StatusMessage() 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(
 | 
					void AtomURLRequest::DoWriteBuffer(
 | 
				
			||||||
    scoped_refptr<const net::IOBufferWithSize> buffer,
 | 
					    scoped_refptr<const net::IOBufferWithSize> buffer,
 | 
				
			||||||
    bool is_last) {
 | 
					    bool is_last) {
 | 
				
			||||||
| 
						 | 
					@ -244,6 +251,7 @@ void AtomURLRequest::DoSetExtraHeader(const std::string& name,
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  request_->SetExtraRequestHeaderByName(name, value, true);
 | 
					  request_->SetExtraRequestHeaderByName(name, value, true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void AtomURLRequest::DoRemoveExtraHeader(const std::string& name) const {
 | 
					void AtomURLRequest::DoRemoveExtraHeader(const std::string& name) const {
 | 
				
			||||||
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 | 
					  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 | 
				
			||||||
  if (!request_) {
 | 
					  if (!request_) {
 | 
				
			||||||
| 
						 | 
					@ -278,6 +286,14 @@ void AtomURLRequest::DoCancelWithError(const std::string& error,
 | 
				
			||||||
                 isRequestError));
 | 
					                 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,
 | 
					void AtomURLRequest::OnAuthRequired(net::URLRequest* request,
 | 
				
			||||||
                                    net::AuthChallengeInfo* auth_info) {
 | 
					                                    net::AuthChallengeInfo* auth_info) {
 | 
				
			||||||
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 | 
					  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,6 +40,7 @@ class AtomURLRequest : public base::RefCountedThreadSafe<AtomURLRequest>,
 | 
				
			||||||
  void RemoveExtraHeader(const std::string& name) const;
 | 
					  void RemoveExtraHeader(const std::string& name) const;
 | 
				
			||||||
  void PassLoginInformation(const base::string16& username,
 | 
					  void PassLoginInformation(const base::string16& username,
 | 
				
			||||||
                            const base::string16& password) const;
 | 
					                            const base::string16& password) const;
 | 
				
			||||||
 | 
					  void SetLoadFlags(int flags) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 protected:
 | 
					 protected:
 | 
				
			||||||
  // Overrides of net::URLRequest::Delegate
 | 
					  // Overrides of net::URLRequest::Delegate
 | 
				
			||||||
| 
						 | 
					@ -71,6 +72,7 @@ class AtomURLRequest : public base::RefCountedThreadSafe<AtomURLRequest>,
 | 
				
			||||||
                 const base::string16& password) const;
 | 
					                 const base::string16& password) const;
 | 
				
			||||||
  void DoCancelAuth() const;
 | 
					  void DoCancelAuth() const;
 | 
				
			||||||
  void DoCancelWithError(const std::string& error, bool isRequestError);
 | 
					  void DoCancelWithError(const std::string& error, bool isRequestError);
 | 
				
			||||||
 | 
					  void DoSetLoadFlags(int flags) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void ReadResponse();
 | 
					  void ReadResponse();
 | 
				
			||||||
  bool CopyAndPostBuffer(int bytes_read);
 | 
					  bool CopyAndPostBuffer(int bytes_read);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue