MCPcopy
hub / github.com/urllib3/urllib3 / recv

Method recv

src/urllib3/contrib/pyopenssl.py:298–321  ·  view source on GitHub ↗
(self, *args: typing.Any, **kwargs: typing.Any)

Source from the content-addressed store, hash-verified

296 self.close()
297
298 def recv(self, *args: typing.Any, **kwargs: typing.Any) -> bytes:
299 try:
300 data = self.connection.recv(*args, **kwargs)
301 except OpenSSL.SSL.SysCallError as e:
302 if self.suppress_ragged_eofs and e.args == (-1, "Unexpected EOF"):
303 return b""
304 else:
305 raise OSError(e.args[0], str(e)) from e
306 except OpenSSL.SSL.ZeroReturnError:
307 if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN:
308 return b""
309 else:
310 raise
311 except OpenSSL.SSL.WantReadError as e:
312 if not util.wait_for_read(self.socket, self.socket.gettimeout()):
313 raise TimeoutError("The read operation timed out") from e
314 else:
315 return self.recv(*args, **kwargs)
316
317 # TLS 1.3 post-handshake authentication
318 except OpenSSL.SSL.Error as e:
319 raise ssl.SSLError(f"read error: {e!r}") from e
320 else:
321 return data # type: ignore[no-any-return]
322
323 def recv_into(self, *args: typing.Any, **kwargs: typing.Any) -> int:
324 try:

Callers

nothing calls this directly

Calls 2

TimeoutErrorClass · 0.85
gettimeoutMethod · 0.80

Tested by

no test coverage detected