py-graphql-client icon indicating copy to clipboard operation
py-graphql-client copied to clipboard

Websocket exception when subscribe

Open truebits opened this issue 5 years ago • 2 comments

(.venv) ➜  fetcher python main.py
--- request header ---
GET /graphql HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: localhost:8080
Origin: http://localhost:8080
Sec-WebSocket-Key: Y/T3i5rm6rUT2DcY1WBSHQ==
Sec-WebSocket-Version: 13


-----------------------
--- response header ---
HTTP/1.1 101 Switching Protocols
Server: nginx/1.17.7
Date: Sun, 12 Jan 2020 16:05:14 GMT
Connection: upgrade
Upgrade: websocket
Sec-WebSocket-Accept: YjXSZB3ABv2zrPKFRHWEQF4t4oQ=
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, PUT, POST, DELETE, PATCH, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
Strict-Transport-Security: max-age=15724800; includeSubDomains
-----------------------
send: b'\x81\xb9e\xd2\xe5\x7f\x1e\xf0\x91\x06\x15\xb7\xc7EE\xf0\x86\x10\x0b\xbc\x80\x1c\x11\xbb\x8a\x11:\xbb\x8b\x16\x11\xf0\xc9_G\xa2\x84\x06\t\xbd\x84\x1bG\xe8\xc5\x04G\xba\x80\x1e\x01\xb7\x97\x0cG\xe8\xc5\x11\x10\xbe\x89\x02\x18'
send: b'\x88\x82\x07\x08\x97\xd2\x04\xe0'
send: b'\x81\xfe\x00\x9e[\x92K\xb8 \xb0"\xdcy\xa8k\x9ak\xe2z\xe8n\xd1i\x94{\xb0?\xc1+\xf7i\x82{\xb08\xcc:\xe0?\x9aw\xb2i\xc8:\xeb\'\xd7:\xf6i\x82{\xe9i\xd0>\xf3/\xdd)\xe1i\x82{\xfc>\xd47\xbek\x9a*\xe7.\xca"\xb0q\x98y\xce%\xcb.\xf08\xdb)\xfb;\xcc2\xfd%\x98 \xce%\x98{\xf0\'\xd78\xf98\x98s\xe96\x91{\xe9\x17\xd6{\xb2k\x982\xf6k\xcb/\xf3?\xcd(\xcd%\xd96\xf7\x17\xd6{\xb26\xe45\xef\x17\xd6y\xbek\x9a-\xf39\xd1:\xf0\'\xdd(\xb0q\x985\xe7\'\xd4&\xef'
Traceback (most recent call last):
  File "main.py", line 25, in <module>
    id = ws.subscribe(query, callback=callback)
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/graphql_client/__init__.py", line 79, in subscribe
    _id = self._start(payload)
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/graphql_client/__init__.py", line 58, in _start
    self._conn.recv()
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_core.py", line 310, in recv
    opcode, data = self.recv_data()
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_core.py", line 327, in recv_data
    opcode, frame = self.recv_data_frame(control_frame)
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_core.py", line 340, in recv_data_frame
    frame = self.recv_frame()
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_core.py", line 374, in recv_frame
    return self.frame_buffer.recv_frame()
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_abnf.py", line 361, in recv_frame
    self.recv_header()
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_abnf.py", line 309, in recv_header
    header = self.recv_strict(2)
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_abnf.py", line 396, in recv_strict
    bytes_ = self.recv(min(16384, shortage))
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_core.py", line 449, in _recv
    return recv(self.sock, bufsize)
  File "/Users/rd/Code/fetcher/.venv/lib/python3.7/site-packages/websocket/_socket.py", line 94, in recv
    "Connection is already closed.")
websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.

truebits avatar Jan 12 '20 16:01 truebits

@ton2win sorry for the extreme delay! I have released a new beta version (0.1.1b1).

Install via: pip install py-graphql-client==0.1.1b1

Once you confirm it all works, I will publish a stable version (0.1.1).

ecthiender avatar Mar 28 '20 16:03 ecthiender

@ton2win I have published another new beta version (0.1.1b2), which fixes all these issues.

Try it out via:

pip install py-graphql-client==0.1.1b2

Will release a stable version, after a bit more testing

ecthiender avatar Apr 10 '20 11:04 ecthiender