mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	Issue1177
r58207 and r58247 patch logic is reversed. I noticed this when I tried to use urllib to retrieve a file which required auth. Fix that and add a test for 401 error to verify.
This commit is contained in:
		
							parent
							
								
									9fd2bcf654
								
							
						
					
					
						commit
						0f7c25d20f
					
				
					 2 changed files with 15 additions and 2 deletions
				
			
		| 
						 | 
					@ -126,6 +126,19 @@ def test_read(self):
 | 
				
			||||||
        finally:
 | 
					        finally:
 | 
				
			||||||
            self.unfakehttp()
 | 
					            self.unfakehttp()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_read_bogus(self):
 | 
				
			||||||
 | 
					        "urlopen() should raise IOError for many error codes."
 | 
				
			||||||
 | 
					        self.fakehttp('''HTTP/1.1 401 Authentication Required
 | 
				
			||||||
 | 
					Date: Wed, 02 Jan 2008 03:03:54 GMT
 | 
				
			||||||
 | 
					Server: Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e
 | 
				
			||||||
 | 
					Connection: close
 | 
				
			||||||
 | 
					Content-Type: text/html; charset=iso-8859-1
 | 
				
			||||||
 | 
					''')
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.assertRaises(IOError, urllib.urlopen, "http://python.org/")
 | 
				
			||||||
 | 
					        finally:
 | 
				
			||||||
 | 
					            self.unfakehttp()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_empty_socket(self):
 | 
					    def test_empty_socket(self):
 | 
				
			||||||
        """urlopen() raises IOError if the underlying socket does not send any
 | 
					        """urlopen() raises IOError if the underlying socket does not send any
 | 
				
			||||||
        data. (#1680230) """
 | 
					        data. (#1680230) """
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -342,7 +342,7 @@ def open_http(self, url, data=None):
 | 
				
			||||||
                            'got a bad status line', None)
 | 
					                            'got a bad status line', None)
 | 
				
			||||||
        # According to RFC 2616, "2xx" code indicates that the client's
 | 
					        # According to RFC 2616, "2xx" code indicates that the client's
 | 
				
			||||||
        # request was successfully received, understood, and accepted.
 | 
					        # request was successfully received, understood, and accepted.
 | 
				
			||||||
        if not (200 <= errcode < 300):
 | 
					        if (200 <= errcode < 300):
 | 
				
			||||||
            return addinfourl(fp, headers, "http:" + url)
 | 
					            return addinfourl(fp, headers, "http:" + url)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            if data is None:
 | 
					            if data is None:
 | 
				
			||||||
| 
						 | 
					@ -437,7 +437,7 @@ def open_https(self, url, data=None):
 | 
				
			||||||
                                'got a bad status line', None)
 | 
					                                'got a bad status line', None)
 | 
				
			||||||
            # According to RFC 2616, "2xx" code indicates that the client's
 | 
					            # According to RFC 2616, "2xx" code indicates that the client's
 | 
				
			||||||
            # request was successfully received, understood, and accepted.
 | 
					            # request was successfully received, understood, and accepted.
 | 
				
			||||||
            if not (200 <= errcode < 300):
 | 
					            if (200 <= errcode < 300):
 | 
				
			||||||
                return addinfourl(fp, headers, "https:" + url)
 | 
					                return addinfourl(fp, headers, "https:" + url)
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                if data is None:
 | 
					                if data is None:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue