From 563545120a9cc1ae1db688e237805b95513c07e6 Mon Sep 17 00:00:00 2001 From: Andrew Svetlov Date: Fri, 25 Dec 2015 22:12:31 +0200 Subject: [PATCH] Add headers to ws_connect coroutine --- CHANGES.txt | 2 ++ aiohttp/client.py | 5 +++-- docs/client_websockets.rst | 10 +++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 90946bece7..d0fae0ad92 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -40,3 +40,5 @@ CHANGES - Close connection on websocket hadshake error #703 - Implement class based views #684 + +- Add *headers* parameter to ws_connect() diff --git a/aiohttp/client.py b/aiohttp/client.py index e9d5209d80..d6cd7f9669 100644 --- a/aiohttp/client.py +++ b/aiohttp/client.py @@ -664,7 +664,7 @@ def delete(url, **kwargs): def ws_connect(url, *, protocols=(), timeout=10.0, connector=None, auth=None, ws_response_class=ClientWebSocketResponse, autoclose=True, - autoping=True, loop=None, origin=None): + autoping=True, loop=None, origin=None, headers=None): if loop is None: loop = asyncio.get_event_loop() @@ -673,7 +673,8 @@ def ws_connect(url, *, protocols=(), timeout=10.0, connector=None, auth=None, connector = aiohttp.TCPConnector(loop=loop, force_close=True) session = aiohttp.ClientSession(loop=loop, connector=connector, auth=auth, - ws_response_class=ws_response_class) + ws_response_class=ws_response_class, + headers=headers) return _DetachedWSRequestContextManager( session._ws_connect(url, diff --git a/docs/client_websockets.rst b/docs/client_websockets.rst index ffab7127ac..e1d60fce5b 100644 --- a/docs/client_websockets.rst +++ b/docs/client_websockets.rst @@ -59,7 +59,7 @@ coroutines, do not create an instance of class timeout=10.0, connector=None, auth=None,\ ws_response_class=ClientWebSocketResponse,\ autoclose=True, autoping=True, loop=None,\ - origin=None) + origin=None, headers=None) This function creates a websocket connection, checks the response and returns a :class:`ClientWebSocketResponse` object. In case of failure @@ -97,6 +97,10 @@ coroutines, do not create an instance of class :param str origin: Origin header to send to server + :param headers: :class:`dict`, :class:`CIMultiDict` or + :class:`CIMultiDictProxy` for providing additional + headers for websocket handshake request. + .. versionadded:: 0.18 Add *auth* parameter. @@ -105,6 +109,10 @@ coroutines, do not create an instance of class Add *origin* parameter. + .. versionadded:: 0.20 + + Add *headers* parameter. + ClientWebSocketResponse -----------------------