strawberry-graphql 0.241.0__py3-none-any.whl → 0.242.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,6 +50,10 @@ class GraphQLWSHandler(BaseGraphQLWSHandler):
50
50
  if ws_message.type == http.WSMsgType.TEXT:
51
51
  message: OperationMessage = ws_message.json()
52
52
  await self.handle_message(message)
53
+ else:
54
+ await self.close(
55
+ code=1002, reason="WebSocket message type must be text"
56
+ )
53
57
  finally:
54
58
  if self.keep_alive_task:
55
59
  self.keep_alive_task.cancel()
@@ -51,8 +51,9 @@ class GraphQLWSHandler(BaseGraphQLWSHandler):
51
51
  try:
52
52
  message = await self._ws.receive_json()
53
53
  except KeyError: # noqa: PERF203
54
- # Ignore non-text messages
55
- continue
54
+ await self.close(
55
+ code=1002, reason="WebSocket message type must be text"
56
+ )
56
57
  else:
57
58
  await self.handle_message(message)
58
59
  except WebSocketDisconnect: # pragma: no cover
@@ -66,7 +66,7 @@ class GraphQLWSHandler(BaseGraphQLWSHandler):
66
66
  # This is not part of the BaseGraphQLWSHandler's interface, but the
67
67
  # channels integration is a high level wrapper that forwards this to
68
68
  # both us and the BaseGraphQLTransportWSHandler.
69
- pass
69
+ await self.close(code=1002, reason=error_message)
70
70
 
71
71
 
72
72
  __all__ = ["GraphQLWSHandler"]
@@ -106,8 +106,9 @@ class GraphQLWSConsumer(ChannelsWSConsumer):
106
106
  # Overriding this so that we can pass the errors to handle_invalid_message
107
107
  try:
108
108
  await super().receive(*args, **kwargs)
109
- except ValueError as e:
110
- await self._handler.handle_invalid_message(str(e))
109
+ except ValueError:
110
+ reason = "WebSocket message type must be text"
111
+ await self._handler.handle_invalid_message(reason)
111
112
 
112
113
  async def receive_json(self, content: Any, **kwargs: Any) -> None:
113
114
  await self._handler.handle_message(content)
@@ -46,8 +46,9 @@ class GraphQLWSHandler(BaseGraphQLWSHandler):
46
46
  try:
47
47
  message = await self._ws.receive_json()
48
48
  except (SerializationException, ValueError): # noqa: PERF203
49
- # Ignore non-text messages
50
- continue
49
+ await self.close(
50
+ code=1002, reason="WebSocket message type must be text"
51
+ )
51
52
  else:
52
53
  await self.handle_message(message)
53
54
  except WebSocketDisconnect: # pragma: no cover
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strawberry-graphql
3
- Version: 0.241.0
3
+ Version: 0.242.0
4
4
  Summary: A library for creating GraphQL APIs
5
5
  Home-page: https://strawberry.rocks/
6
6
  License: MIT
@@ -3,7 +3,7 @@ strawberry/__main__.py,sha256=3U77Eu21mJ-LY27RG-JEnpbh6Z63wGOom4i-EoLtUcY,59
3
3
  strawberry/aiohttp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  strawberry/aiohttp/handlers/__init__.py,sha256=7EeGIIwrgJYHAS9XJnZLfRGL_GHrligKm39rrVt7qDA,241
5
5
  strawberry/aiohttp/handlers/graphql_transport_ws_handler.py,sha256=-dihpF3pueV6jcd0x4k0GF-3VtG_IvfyKQ1ZVgg1T4U,2092
6
- strawberry/aiohttp/handlers/graphql_ws_handler.py,sha256=Ol8tBLIeal7bRiG_uxyJXnXo24xMDEh6M5XsuCyUpVQ,2275
6
+ strawberry/aiohttp/handlers/graphql_ws_handler.py,sha256=3U-E-o_QcLGoVaHE2oAPN3tTTIRwqGH0_688kbOtT7I,2437
7
7
  strawberry/aiohttp/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
8
8
  strawberry/aiohttp/test/client.py,sha256=4vjTDxtNVfpa74GfUUO7efPI6Ssh1vzfCYp3tPA-SLk,1357
9
9
  strawberry/aiohttp/views.py,sha256=9-oVlT-DVQL9bGiV0uY6lBCRz7KtQDA_nPPk-M0HH2w,6936
@@ -11,7 +11,7 @@ strawberry/annotation.py,sha256=ftSxGZQUk4C5_5YRM_wNJFVVnZi0XOp71kD7zv4oxbU,1307
11
11
  strawberry/asgi/__init__.py,sha256=gtAP5BF7z0lnxoKDeprEv2tuffjDRWNx2Xc2v-B6Prg,7526
12
12
  strawberry/asgi/handlers/__init__.py,sha256=rz5Gth2eJUn7tDq2--99KSNFeMdDPpLFCkfA7vge0cI,235
13
13
  strawberry/asgi/handlers/graphql_transport_ws_handler.py,sha256=_5N58XdtCZndU81ky1f5cwG9E4NhysxP4uHlqqZNzn4,2147
14
- strawberry/asgi/handlers/graphql_ws_handler.py,sha256=KQXmbk7uDwiG1yOadz65GsSzjAPUjKrpEQYAA94nGRM,2379
14
+ strawberry/asgi/handlers/graphql_ws_handler.py,sha256=UnjkjyEen2P4Ld9AuazcZ2qY-VRdBubunb4JHtAP89o,2443
15
15
  strawberry/asgi/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
16
16
  strawberry/asgi/test/client.py,sha256=VolupxMna9ktF1lYgV_dUQAIN53DNzVyWTeWTbwsxqE,1448
17
17
  strawberry/chalice/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -20,9 +20,9 @@ strawberry/channels/__init__.py,sha256=9oRdAT7uIYETF-23gZ5NteOXSjwkUtwRmwu3YCFv1
20
20
  strawberry/channels/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  strawberry/channels/handlers/base.py,sha256=DlMmzuZl-feceZZ7UHLW-zBSNVxHvaWTqwyWDP-e1Dg,7861
22
22
  strawberry/channels/handlers/graphql_transport_ws_handler.py,sha256=jMWmZ4Haoo3bf_bcM4ZheAjkreuhZBhwMhEX6GZ0Ue4,1995
23
- strawberry/channels/handlers/graphql_ws_handler.py,sha256=2W_KpXMmC-LbFLBMMFNarFIMyEBipmIOlQpfnfsyLbE,2538
23
+ strawberry/channels/handlers/graphql_ws_handler.py,sha256=ulkMQP7h5cFDDLVBWV-10fYa9GS2pFg3FdS0Axtov-U,2583
24
24
  strawberry/channels/handlers/http_handler.py,sha256=k4-qer3trApTv8VXEvAc2ub6QATKcOxPBaIezNqhjDQ,11142
25
- strawberry/channels/handlers/ws_handler.py,sha256=rXWhLxDHSGJHYdCDMb-pckxka-rf4VZqaNSzkagTa6w,4693
25
+ strawberry/channels/handlers/ws_handler.py,sha256=hpgXSWsUMWP3ylJtHGFcLtNpSKgPMWJTfnUTKElBBzA,4747
26
26
  strawberry/channels/router.py,sha256=DKIbl4zuRBhfvViUVpyu0Rf_WRT41E6uZC-Yic9Ltvo,2024
27
27
  strawberry/channels/testing.py,sha256=GZqYu_rhrT1gLHmdI219L1fctVDmrv7AMHs0bwhXitc,6166
28
28
  strawberry/cli/__init__.py,sha256=byS5VrEiTJatAH6YS4V1Kd4SOwMRAQO2M1oJdIddivg,585
@@ -157,7 +157,7 @@ strawberry/litestar/__init__.py,sha256=zsXzg-mglCGUVO9iNXLm-yadoDSCK7k-zuyRqyvAh
157
157
  strawberry/litestar/controller.py,sha256=448P5HTt5ZwxNhuhpgWuhX1-YpZl1UzSxvDJHQquw9c,14062
158
158
  strawberry/litestar/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
159
  strawberry/litestar/handlers/graphql_transport_ws_handler.py,sha256=rDE-I02_fCov4FfpdBJBE2Xt-4FSNU8xJuQ6xedMF6E,2050
160
- strawberry/litestar/handlers/graphql_ws_handler.py,sha256=iCi2htoSgfk5H59gnw0tMwe9NxodqcaaxSsZ6TkQWYU,2283
160
+ strawberry/litestar/handlers/graphql_ws_handler.py,sha256=b4gz9aEKtpXUcdyB3o9PzmINcuNReIshJM1bfPXH14Q,2347
161
161
  strawberry/parent.py,sha256=sXURm0lauSpjUADsmfNGY-Zl7kHs0A67BFcWuWKzRxw,771
162
162
  strawberry/permission.py,sha256=NsYq-c4AgDCDBsYXsJN94yWJjuwYkvytpqXE4BIf_vc,7226
163
163
  strawberry/printer/__init__.py,sha256=DmepjmgtkdF5RxK_7yC6qUyRWn56U-9qeZMbkztYB9w,62
@@ -245,8 +245,8 @@ strawberry/utils/logging.py,sha256=U1cseHGquN09YFhFmRkiphfASKCyK0HUZREImPgVb0c,7
245
245
  strawberry/utils/operation.py,sha256=SSXxN-vMqdHO6W2OZtip-1z7y4_A-eTVFdhDvhKeLCk,1193
246
246
  strawberry/utils/str_converters.py,sha256=KGd7QH90RevaJjH6SQEkiVVsb8KuhJr_wv5AsI7UzQk,897
247
247
  strawberry/utils/typing.py,sha256=3xws5kxSQGsp8BnYyUwClvxXNzZakMAuOPoq1rjHRuk,14252
248
- strawberry_graphql-0.241.0.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
249
- strawberry_graphql-0.241.0.dist-info/METADATA,sha256=ZSvM67VyfBvf-dDf8uoTlYpPa0KL4_bBBmTIt4js4x8,7707
250
- strawberry_graphql-0.241.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
251
- strawberry_graphql-0.241.0.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
252
- strawberry_graphql-0.241.0.dist-info/RECORD,,
248
+ strawberry_graphql-0.242.0.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
249
+ strawberry_graphql-0.242.0.dist-info/METADATA,sha256=N_oJWtKlTnJhbLj9mZfgDsKMfbh7o9YZZ_nUuAVZdV4,7707
250
+ strawberry_graphql-0.242.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
251
+ strawberry_graphql-0.242.0.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
252
+ strawberry_graphql-0.242.0.dist-info/RECORD,,