latch-asgi 1.0.6.dev1__py3-none-any.whl → 1.0.6.dev2__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.
latch_asgi/server.py CHANGED
@@ -222,13 +222,6 @@ class LatchASGIServer:
222
222
  s.set_attribute("http.route", scope["path"])
223
223
 
224
224
  close_reason: str | None = None
225
- close_already_sent: bool = False
226
-
227
- async def send_tracking(e):
228
- nonlocal close_already_sent
229
- if isinstance(e, dict) and e.get("type") == "websocket.close":
230
- close_already_sent = True
231
- await send(e)
232
225
  try:
233
226
  try:
234
227
  msg = await receive()
@@ -237,7 +230,7 @@ class LatchASGIServer:
237
230
  "ASGI protocol violation: missing websocket.connect event"
238
231
  )
239
232
 
240
- ctx = websocket.Context(scope, receive, send_tracking)
233
+ ctx = websocket.Context(scope, receive, send)
241
234
  close_reason = await handler(ctx)
242
235
  except WebsocketErrorResponse:
243
236
  raise
@@ -248,7 +241,7 @@ class LatchASGIServer:
248
241
  raise WebsocketInternalServerError("Internal Error") from e
249
242
  except WebsocketErrorResponse as e:
250
243
  await close_connection(
251
- send_tracking, status=e.status, reason=orjson.dumps({"error": e.data}).decode()
244
+ send, status=e.status, reason=orjson.dumps({"error": e.data}).decode()
252
245
  )
253
246
 
254
247
  if e.status != WebsocketStatus.server_error:
@@ -256,13 +249,12 @@ class LatchASGIServer:
256
249
 
257
250
  raise
258
251
  else:
259
- if not close_already_sent:
260
- if close_reason is None:
261
- close_reason = "Session complete"
252
+ if close_reason is None:
253
+ close_reason = "Session complete"
262
254
 
263
- await close_connection(
264
- send_tracking, status=WebsocketStatus.normal, reason=close_reason
265
- )
255
+ await close_connection(
256
+ send, status=WebsocketStatus.normal, reason=close_reason
257
+ )
266
258
 
267
259
  async def scope_http(
268
260
  self: Self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: latch-asgi
3
- Version: 1.0.6.dev1
3
+ Version: 1.0.6.dev2
4
4
  Summary: ASGI python server
5
5
  Author-Email: Max Smolin <max@latch.bio>
6
6
  License: CC0-1.0
@@ -1,7 +1,7 @@
1
- latch_asgi-1.0.6.dev1.dist-info/METADATA,sha256=d_sbslHsXgeKveQHPneko7QPpjS1juNjZvehnwrAZNQ,585
2
- latch_asgi-1.0.6.dev1.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
- latch_asgi-1.0.6.dev1.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
- latch_asgi-1.0.6.dev1.dist-info/licenses/COPYING,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
1
+ latch_asgi-1.0.6.dev2.dist-info/METADATA,sha256=tx_0GKsSwENtuPCCPZ3Mb295IFTQCQZG33gaBZE2OTM,585
2
+ latch_asgi-1.0.6.dev2.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
+ latch_asgi-1.0.6.dev2.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
+ latch_asgi-1.0.6.dev2.dist-info/licenses/COPYING,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
5
5
  latch_asgi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  latch_asgi/asgi_iface.py,sha256=JSmp9YnbcU7MymDcqo7DvIGGyP5wZWe-8QNtAtkgJnc,2199
7
7
  latch_asgi/auth.py,sha256=XG4lfgpiu88bAcXa_brGeadDn6BlQH8f_swKwv7Jqag,5874
@@ -16,5 +16,5 @@ latch_asgi/framework/common.py,sha256=YUd15n0wCj4REIePwu68qohPfDN5AEfav9qbaxiKVa
16
16
  latch_asgi/framework/http.py,sha256=mAZJrsYUPyh3PHt-IL3AEc4bNG1z3Sq8a7mA4o3fPZ0,4853
17
17
  latch_asgi/framework/websocket.py,sha256=KaRiGGXb635R0U3m_dm9nIT5iWYEWel1IH000MHN3t0,8017
18
18
  latch_asgi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- latch_asgi/server.py,sha256=NBpRGdNBfXBVyVFIXCkxjWNKmdo5MiufZKkhM5CKadE,18765
20
- latch_asgi-1.0.6.dev1.dist-info/RECORD,,
19
+ latch_asgi/server.py,sha256=Gg1ZUm7LCRgYXUjyIDn6TuZTXSGYk1jUM20ZWC-fseY,18418
20
+ latch_asgi-1.0.6.dev2.dist-info/RECORD,,