Skip to content

Commit

Permalink
Misc fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
romis2012 committed Jul 15, 2020
1 parent cfa3470 commit a2c61b2
Show file tree
Hide file tree
Showing 12 changed files with 33 additions and 53 deletions.
8 changes: 8 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,11 @@
omit =
# */_proxy_chain_*.py
httpx_socks/core_socks/_basic_auth.py
[report]
# Regexes for lines to exclude from consideration
exclude_lines =
pragma: no cover
def __repr__
if self.debug:
raise NotImplementedError
raise ValueError
2 changes: 1 addition & 1 deletion httpx_socks/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
__title__ = 'httpx-socks'
__version__ = '0.2.3'
__version__ = '0.2.4'

from .core_socks import (
ProxyError,
Expand Down
5 changes: 3 additions & 2 deletions httpx_socks/_async_transport.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,9 @@ async def _open_stream(self, host, port, connect_timeout, ssl_context):
stream=stream
)

else: # pragma: nocover
raise RuntimeError(f'Unsupported concurrency backend {backend!r}')
else:
raise RuntimeError(f'Unsupported ' # pragma: no cover
f'concurrency backend {backend!r}')

@classmethod
def from_url(cls, url, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion httpx_socks/core_socks/_proto_http_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ async def negotiate(self):

await self._stream.write_all(data)

res = await self._stream.read_all()
res = await self._stream.read()

if not res:
raise ProxyError('Invalid proxy response') # pragma: no cover'
Expand Down
2 changes: 1 addition & 1 deletion httpx_socks/core_socks/_proto_http_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def negotiate(self):

self._stream.write_all(data)

res = self._stream.read_all()
res = self._stream.read()

if not res:
raise ProxyError('Invalid proxy response') # pragma: no cover'
Expand Down
2 changes: 1 addition & 1 deletion httpx_socks/core_socks/_proto_socks5_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ async def _socks_connect(self):
'must be 0x00')

# read all available data (bind address)
await self._stream.read_all()
await self._stream.read()

async def _build_addr_request(self):
host = self._dest_host
Expand Down
2 changes: 1 addition & 1 deletion httpx_socks/core_socks/_proto_socks5_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ def _socks_connect(self):
'must be 0x00')

# read all available data (bind address)
self._stream.read_all()
self._stream.read()

def _build_addr_request(self):
host = self._dest_host
Expand Down
7 changes: 3 additions & 4 deletions httpx_socks/core_socks/_stream_async.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from ._resolver_async import AsyncResolver

DEFAULT_RECEIVE_SIZE = 65536


class AsyncSocketStream:

Expand All @@ -15,15 +17,12 @@ async def write(self, request):
async def write_all(self, data):
raise NotImplementedError() # pragma: no cover

async def read(self, max_bytes):
async def read(self, max_bytes=None):
raise NotImplementedError() # pragma: no cover

async def read_exact(self, n):
raise NotImplementedError() # pragma: no cover

async def read_all(self, buff_size=4096):
raise NotImplementedError() # pragma: no cover

@property
def resolver(self) -> AsyncResolver:
raise NotImplementedError() # pragma: no cover
Expand Down
18 changes: 4 additions & 14 deletions httpx_socks/core_socks/_stream_async_aio.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import asyncio
import socket

from ._stream_async import AsyncSocketStream
from ._stream_async import AsyncSocketStream, DEFAULT_RECEIVE_SIZE
from ._resolver_async_aio import Resolver
from ._helpers import is_ipv4_address, is_ipv6_address
from ._errors import ProxyError
Expand Down Expand Up @@ -50,7 +50,9 @@ async def write(self, request):
async def write_all(self, data):
await self._loop.sock_sendall(self._socket, data)

async def read(self, max_bytes):
async def read(self, max_bytes=None):
if max_bytes is None:
max_bytes = DEFAULT_RECEIVE_SIZE
return await self._loop.sock_recv(self._socket, max_bytes)

async def read_exact(self, n):
Expand All @@ -63,18 +65,6 @@ async def read_exact(self, n):
data += packet
return data

async def read_all(self, buff_size=4096):
data = bytearray()
while True:
packet = await self._loop.sock_recv(self._socket, buff_size)
if not packet:
raise ProxyError('Connection closed ' # pragma: no cover
'unexpectedly')
data += packet
if len(packet) < buff_size:
break
return data

@property
def resolver(self):
return self._resolver
Expand Down
18 changes: 4 additions & 14 deletions httpx_socks/core_socks/_stream_async_trio.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import trio

from ._stream_async import AsyncSocketStream
from ._stream_async import AsyncSocketStream, DEFAULT_RECEIVE_SIZE
from ._resolver_async_trio import Resolver
from ._helpers import is_ipv4_address, is_ipv6_address
from ._errors import ProxyError
Expand Down Expand Up @@ -49,7 +49,9 @@ async def write_all(self, data):
sent = await self._socket.send(remaining)
total_sent += sent

async def read(self, max_bytes):
async def read(self, max_bytes=None):
if max_bytes is None:
max_bytes = DEFAULT_RECEIVE_SIZE
return await self._socket.recv(max_bytes)

async def read_exact(self, n):
Expand All @@ -62,18 +64,6 @@ async def read_exact(self, n):
data += packet
return data

async def read_all(self, buff_size=4096):
data = bytearray()
while True:
packet = await self._socket.recv(buff_size)
if not packet:
raise ProxyError('Connection closed ' # pragma: no cover
'unexpectedly')
data += packet
if len(packet) < buff_size:
break
return data

@property
def resolver(self):
return self._resolver
Expand Down
18 changes: 5 additions & 13 deletions httpx_socks/core_socks/_stream_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
from ._helpers import is_ipv4_address, is_ipv6_address
from ._errors import ProxyError

DEFAULT_RECEIVE_SIZE = 65536


class SyncSocketStream:
_socket = None
Expand Down Expand Up @@ -45,7 +47,9 @@ def write(self, request):
def write_all(self, data):
self._socket.sendall(data)

def read(self, max_bytes):
def read(self, max_bytes=None):
if max_bytes is None:
max_bytes = DEFAULT_RECEIVE_SIZE
return self._socket.recv(max_bytes)

def read_exact(self, n):
Expand All @@ -58,18 +62,6 @@ def read_exact(self, n):
data += packet
return data

def read_all(self, buff_size=4096):
data = bytearray()
while True:
packet = self._socket.recv(buff_size)
if not packet:
raise ProxyError('Connection closed ' # pragma: no cover
'unexpectedly')
data += packet
if len(packet) < buff_size:
break
return data

@property
def resolver(self) -> SyncResolver:
return self._resolver
Expand Down
2 changes: 1 addition & 1 deletion httpx_socks/core_socks/_version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__title__ = 'core-socks'
__version__ = '0.1.2'
__version__ = '0.1.3'

0 comments on commit a2c61b2

Please sign in to comment.