From bb206ebc4d87442dd6622c0f77e8d6656058f46a Mon Sep 17 00:00:00 2001 From: zack <43246297+clickingbuttons@users.noreply.github.com> Date: Thu, 5 May 2022 11:46:46 -0400 Subject: [PATCH 1/2] add certifi for wss --- polygon/websocket/__init__.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/polygon/websocket/__init__.py b/polygon/websocket/__init__.py index 2689ee14..ebfe6a49 100644 --- a/polygon/websocket/__init__.py +++ b/polygon/websocket/__init__.py @@ -1,12 +1,14 @@ import os from enum import Enum from typing import Optional, Union, List, Set, Callable, Awaitable +import json +import inspect +import ssl +import certifi from .models import * from websockets.client import connect, WebSocketClientProtocol from websockets.exceptions import ConnectionClosedOK, ConnectionClosedError from websockets.typing import Data -import json -import inspect env_key = "POLYGON_API_KEY" @@ -74,7 +76,10 @@ async def connect( isasync = inspect.iscoroutinefunction(processor) if self.verbose: print("connect:", self.url) - async for s in connect(self.url, close_timeout=close_timeout, **kwargs): + # darwin needs some extra <3 + ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) + ssl_context.load_verify_locations(certifi.where()) + async for s in connect(self.url, close_timeout=close_timeout, ssl=ssl_context, **kwargs): self.websocket = s try: msg = await s.recv() From 644b9dc935a50f962e15cc97d5025b97f3892b03 Mon Sep 17 00:00:00 2001 From: zack <43246297+clickingbuttons@users.noreply.github.com> Date: Thu, 5 May 2022 11:48:37 -0400 Subject: [PATCH 2/2] lint --- polygon/websocket/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/polygon/websocket/__init__.py b/polygon/websocket/__init__.py index ebfe6a49..2ff3c44b 100644 --- a/polygon/websocket/__init__.py +++ b/polygon/websocket/__init__.py @@ -79,7 +79,9 @@ async def connect( # darwin needs some extra <3 ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) ssl_context.load_verify_locations(certifi.where()) - async for s in connect(self.url, close_timeout=close_timeout, ssl=ssl_context, **kwargs): + async for s in connect( + self.url, close_timeout=close_timeout, ssl=ssl_context, **kwargs + ): self.websocket = s try: msg = await s.recv()