Python http.client.IncompleteRead() Examples
The following are 30
code examples of http.client.IncompleteRead().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
http.client
, or try the search function
.
Example #1
Source File: response.py From project-black with GNU General Public License v2.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #2
Source File: response.py From aws-extender with MIT License | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #3
Source File: response.py From sublime-elasticsearch-client with MIT License | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #4
Source File: response.py From PocHunter with MIT License | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #5
Source File: response.py From ImageFusion with MIT License | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #6
Source File: response.py From ImageFusion with MIT License | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #7
Source File: response.py From datafari with Apache License 2.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #8
Source File: response.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #9
Source File: test_httplib.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_mixed_reads(self): # readline() should update the remaining length, so that read() knows # how much data is left and does not raise IncompleteRead body = "HTTP/1.1 200 Ok\r\nContent-Length: 13\r\n\r\nText\r\nAnother" sock = FakeSocket(body) resp = client.HTTPResponse(sock) resp.begin() self.assertEqual(resp.readline(), b'Text\r\n') self.assertFalse(resp.isclosed()) self.assertEqual(resp.read(), b'Another') self.assertTrue(resp.isclosed()) self.assertFalse(resp.closed) resp.close() self.assertTrue(resp.closed)
Example #10
Source File: test_httplib.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_chunked(self): expected = chunked_expected sock = FakeSocket(chunked_start + last_chunk + chunked_end) resp = client.HTTPResponse(sock, method="GET") resp.begin() self.assertEqual(resp.read(), expected) resp.close() # Various read sizes for n in range(1, 12): sock = FakeSocket(chunked_start + last_chunk + chunked_end) resp = client.HTTPResponse(sock, method="GET") resp.begin() self.assertEqual(resp.read(n) + resp.read(n) + resp.read(), expected) resp.close() for x in ('', 'foo\r\n'): sock = FakeSocket(chunked_start + x) resp = client.HTTPResponse(sock, method="GET") resp.begin() try: resp.read() except client.IncompleteRead as i: self.assertEqual(i.partial, expected) expected_message = 'IncompleteRead(%d bytes read)' % len(expected) self.assertEqual(repr(i), expected_message) self.assertEqual(str(i), expected_message) else: self.fail('IncompleteRead expected') finally: resp.close()
Example #11
Source File: test_httplib.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_incomplete_read(self): sock = FakeSocket('HTTP/1.1 200 OK\r\nContent-Length: 10\r\n\r\nHello\r\n') resp = client.HTTPResponse(sock, method="GET") resp.begin() try: resp.read() except client.IncompleteRead as i: self.assertEqual(i.partial, b'Hello\r\n') self.assertEqual(repr(i), "IncompleteRead(7 bytes read, 3 more expected)") self.assertEqual(str(i), "IncompleteRead(7 bytes read, 3 more expected)") self.assertTrue(resp.isclosed()) else: self.fail('IncompleteRead expected')
Example #12
Source File: response.py From sublime-elasticsearch-client with MIT License | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #13
Source File: postgres_command.py From pghoard with Apache License 2.0 | 5 votes |
def restore_command(site, xlog, output, host=PGHOARD_HOST, port=PGHOARD_PORT, retry_interval=5, retry_count=3): if not output: headers = {} method = "HEAD" else: # Construct absolute path for output - postgres calls this command with a relative path to its xlog # directory. Note that os.path.join strips preceding components if a new components starts with a # slash so it's still possible to use this with absolute paths. output_path = os.path.join(os.getcwd(), output) headers = {"x-pghoard-target-path": output_path} method = "GET" path = "/{}/archive/{}".format(site, xlog) for retries in range(retry_count - 1, -1, -1): try: status = http_request(host, port, method, path, headers) break except (socket.error, BadStatusLine, IncompleteRead) as ex: err = "HTTP connection to {0}:{1} failed: {2.__class__.__name__}: {2}".format(host, port, ex) if not retries: raise PGCError(err, exit_code=EXIT_ABORT) print("{}; {} retries left, sleeping {} seconds and retrying".format(err, retries, retry_interval)) time.sleep(retry_interval) if status == 201 and method == "GET": return if status == 200 and method == "HEAD": return # NOTE: PostgreSQL interprets exit codes 1..125 as "file not found errors" signalling that there's no # such wal file from which PostgreSQL assumes that we've completed recovery so we never want to return # such an error code unless we actually got confirmation that the file isn't in the backend. if status == 404: raise PGCError("{!r} not found from archive".format(xlog), exit_code=EXIT_NOT_FOUND) raise PGCError("Restore failed with HTTP status {}".format(status), exit_code=EXIT_ABORT)
Example #14
Source File: google.py From pghoard with Apache License 2.0 | 5 votes |
def _retry_on_reset(self, request, action): retries = 60 retry_wait = 2 while True: try: return action() except (IncompleteRead, HttpError, ssl.SSLEOFError, socket.timeout, OSError, socket.gaierror) as ex: # Note that socket.timeout and ssl.SSLEOFError inherit from OSError # and the order of handling the errors here needs to be correct if not retries: raise elif isinstance(ex, (IncompleteRead, socket.timeout, ssl.SSLEOFError, BrokenPipeError)): pass # just retry with the same sleep amount elif isinstance(ex, HttpError): # https://cloud.google.com/storage/docs/json_api/v1/status-codes # https://cloud.google.com/storage/docs/exponential-backoff if ex.resp["status"] not in ("429", "500", "502", "503", "504"): # pylint: disable=no-member raise retry_wait = min(10.0, max(1.0, retry_wait * 2) + random.random()) # httplib2 commonly fails with Bad File Descriptor and Connection Reset elif isinstance(ex, OSError) and ex.errno not in [errno.EAGAIN, errno.EBADF, errno.ECONNRESET]: raise # getaddrinfo sometimes fails with "Name or service not known" elif isinstance(ex, socket.gaierror) and ex.errno != socket.EAI_NONAME: raise self.log.warning("%s failed: %s (%s), retrying in %.2fs", action, ex.__class__.__name__, ex, retry_wait) # we want to reset the http connection state in case of error if request and hasattr(request, "http"): request.http.connections.clear() # reset connection cache retries -= 1 time.sleep(retry_wait)
Example #15
Source File: response.py From pelisalacarta-ce with GNU General Public License v3.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #16
Source File: response.py From BruteSploit with GNU General Public License v3.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #17
Source File: io.py From meza with MIT License | 5 votes |
def patch_http_response_read(func): """Patches httplib to read poorly encoded chunked data. https://stackoverflow.com/a/14206036/408556 """ def inner(*args): """inner""" try: return func(*args) except client.IncompleteRead as err: return err.partial return inner
Example #18
Source File: download.py From ncbi-acc-download with Apache License 2.0 | 5 votes |
def get_stream(url, params): """Get the actual streamed request from NCBI.""" try: r = requests.get(url, params=params, stream=True) except (requests.exceptions.RequestException, IncompleteRead) as e: print("Failed to download {!r} from NCBI".format(params['id']), file=sys.stderr) raise DownloadError(str(e)) if r.status_code != requests.codes.ok: print("Failed to download file with id {} from NCBI".format(params['id']), file=sys.stderr) raise InvalidIdError("Download failed with return code: {}".format(r.status_code), params["id"], r.status_code) return r
Example #19
Source File: response.py From aws-builders-fair-projects with Apache License 2.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #20
Source File: test_httplib.py From android_universal with MIT License | 5 votes |
def test_mixed_reads(self): # readline() should update the remaining length, so that read() knows # how much data is left and does not raise IncompleteRead body = "HTTP/1.1 200 Ok\r\nContent-Length: 13\r\n\r\nText\r\nAnother" sock = FakeSocket(body) resp = client.HTTPResponse(sock) resp.begin() self.assertEqual(resp.readline(), b'Text\r\n') self.assertFalse(resp.isclosed()) self.assertEqual(resp.read(), b'Another') self.assertTrue(resp.isclosed()) self.assertFalse(resp.closed) resp.close() self.assertTrue(resp.closed)
Example #21
Source File: test_httplib.py From android_universal with MIT License | 5 votes |
def test_chunked(self): expected = chunked_expected sock = FakeSocket(chunked_start + last_chunk + chunked_end) resp = client.HTTPResponse(sock, method="GET") resp.begin() self.assertEqual(resp.read(), expected) resp.close() # Various read sizes for n in range(1, 12): sock = FakeSocket(chunked_start + last_chunk + chunked_end) resp = client.HTTPResponse(sock, method="GET") resp.begin() self.assertEqual(resp.read(n) + resp.read(n) + resp.read(), expected) resp.close() for x in ('', 'foo\r\n'): sock = FakeSocket(chunked_start + x) resp = client.HTTPResponse(sock, method="GET") resp.begin() try: resp.read() except client.IncompleteRead as i: self.assertEqual(i.partial, expected) expected_message = 'IncompleteRead(%d bytes read)' % len(expected) self.assertEqual(repr(i), expected_message) self.assertEqual(str(i), expected_message) else: self.fail('IncompleteRead expected') finally: resp.close()
Example #22
Source File: test_httplib.py From android_universal with MIT License | 5 votes |
def test_incomplete_read(self): sock = FakeSocket('HTTP/1.1 200 OK\r\nContent-Length: 10\r\n\r\nHello\r\n') resp = client.HTTPResponse(sock, method="GET") resp.begin() try: resp.read() except client.IncompleteRead as i: self.assertEqual(i.partial, b'Hello\r\n') self.assertEqual(repr(i), "IncompleteRead(7 bytes read, 3 more expected)") self.assertEqual(str(i), "IncompleteRead(7 bytes read, 3 more expected)") self.assertTrue(resp.isclosed()) else: self.fail('IncompleteRead expected')
Example #23
Source File: test_httplib.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_incomplete_read(self): sock = FakeSocket('HTTP/1.1 200 OK\r\nContent-Length: 10\r\n\r\nHello\r\n') resp = client.HTTPResponse(sock, method="GET") resp.begin() try: resp.read() except client.IncompleteRead as i: self.assertEqual(i.partial, b'Hello\r\n') self.assertEqual(repr(i), "IncompleteRead(7 bytes read, 3 more expected)") self.assertEqual(str(i), "IncompleteRead(7 bytes read, 3 more expected)") self.assertTrue(resp.isclosed()) else: self.fail('IncompleteRead expected')
Example #24
Source File: response.py From faces with GNU General Public License v2.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #25
Source File: response.py From Yuki-Chan-The-Auto-Pentest with MIT License | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #26
Source File: crawler.py From ITWSV with MIT License | 5 votes |
def content(self) -> str: """HTML source code of the web-page as str""" if self._is_empty: return "" try: return self._response.text except (ConnectionError, OSError, IncompleteRead): return ""
Example #27
Source File: crawler.py From ITWSV with MIT License | 5 votes |
def bytes(self) -> bytes: """HTTP body response as raw bytes""" if self._is_empty: return b"" try: return self._response.content except (ConnectionError, OSError, IncompleteRead): return b""
Example #28
Source File: response.py From deepWordBug with Apache License 2.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)
Example #29
Source File: test_httplib.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_chunked(self): expected = chunked_expected sock = FakeSocket(chunked_start + last_chunk + chunked_end) resp = client.HTTPResponse(sock, method="GET") resp.begin() self.assertEqual(resp.read(), expected) resp.close() # Various read sizes for n in range(1, 12): sock = FakeSocket(chunked_start + last_chunk + chunked_end) resp = client.HTTPResponse(sock, method="GET") resp.begin() self.assertEqual(resp.read(n) + resp.read(n) + resp.read(), expected) resp.close() for x in ('', 'foo\r\n'): sock = FakeSocket(chunked_start + x) resp = client.HTTPResponse(sock, method="GET") resp.begin() try: resp.read() except client.IncompleteRead as i: self.assertEqual(i.partial, expected) expected_message = 'IncompleteRead(%d bytes read)' % len(expected) self.assertEqual(repr(i), expected_message) self.assertEqual(str(i), expected_message) else: self.fail('IncompleteRead expected') finally: resp.close()
Example #30
Source File: response.py From faces with GNU General Public License v2.0 | 5 votes |
def _update_chunk_length(self): # First, we'll figure out length of a chunk and then # we'll try to read it from socket. if self.chunk_left is not None: return line = self._fp.fp.readline() line = line.split(b';', 1)[0] try: self.chunk_left = int(line, 16) except ValueError: # Invalid chunked protocol response, abort. self.close() raise httplib.IncompleteRead(line)