@vercel/python 4.7.0 → 4.7.2

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.
package/dist/index.js CHANGED
@@ -1805,9 +1805,9 @@ var require_once = __commonJS({
1805
1805
  }
1806
1806
  });
1807
1807
 
1808
- // ../../node_modules/.pnpm/end-of-stream@1.4.4/node_modules/end-of-stream/index.js
1808
+ // ../../node_modules/.pnpm/end-of-stream@1.4.1/node_modules/end-of-stream/index.js
1809
1809
  var require_end_of_stream = __commonJS({
1810
- "../../node_modules/.pnpm/end-of-stream@1.4.4/node_modules/end-of-stream/index.js"(exports, module2) {
1810
+ "../../node_modules/.pnpm/end-of-stream@1.4.1/node_modules/end-of-stream/index.js"(exports, module2) {
1811
1811
  var once = require_once();
1812
1812
  var noop = function() {
1813
1813
  };
@@ -1827,7 +1827,6 @@ var require_end_of_stream = __commonJS({
1827
1827
  var rs = stream._readableState;
1828
1828
  var readable = opts.readable || opts.readable !== false && stream.readable;
1829
1829
  var writable = opts.writable || opts.writable !== false && stream.writable;
1830
- var cancelled = false;
1831
1830
  var onlegacyfinish = function() {
1832
1831
  if (!stream.writable)
1833
1832
  onfinish();
@@ -1849,14 +1848,9 @@ var require_end_of_stream = __commonJS({
1849
1848
  callback.call(stream, err);
1850
1849
  };
1851
1850
  var onclose = function() {
1852
- process.nextTick(onclosenexttick);
1853
- };
1854
- var onclosenexttick = function() {
1855
- if (cancelled)
1856
- return;
1857
- if (readable && !(rs && (rs.ended && !rs.destroyed)))
1851
+ if (readable && !(rs && rs.ended))
1858
1852
  return callback.call(stream, new Error("premature close"));
1859
- if (writable && !(ws && (ws.ended && !ws.destroyed)))
1853
+ if (writable && !(ws && ws.ended))
1860
1854
  return callback.call(stream, new Error("premature close"));
1861
1855
  };
1862
1856
  var onrequest = function() {
@@ -1881,7 +1875,6 @@ var require_end_of_stream = __commonJS({
1881
1875
  stream.on("error", onerror);
1882
1876
  stream.on("close", onclose);
1883
1877
  return function() {
1884
- cancelled = true;
1885
1878
  stream.removeListener("complete", onfinish);
1886
1879
  stream.removeListener("abort", onclose);
1887
1880
  stream.removeListener("request", onrequest);
@@ -3116,7 +3109,8 @@ var build = async ({
3116
3109
  files,
3117
3110
  handler: `${handlerPyFilename}.vc_handler`,
3118
3111
  runtime: pythonVersion.runtime,
3119
- environment: {}
3112
+ environment: {},
3113
+ supportsResponseStreaming: true
3120
3114
  });
3121
3115
  return { output };
3122
3116
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/python",
3
- "version": "4.7.0",
3
+ "version": "4.7.2",
4
4
  "main": "./dist/index.js",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/python",
@@ -19,7 +19,7 @@
19
19
  "@types/jest": "27.4.1",
20
20
  "@types/node": "14.18.33",
21
21
  "@types/which": "3.0.0",
22
- "@vercel/build-utils": "9.0.1",
22
+ "@vercel/build-utils": "10.5.1",
23
23
  "cross-env": "7.0.3",
24
24
  "execa": "^1.0.0",
25
25
  "fs-extra": "11.1.1",
package/vc_init.py CHANGED
@@ -27,7 +27,7 @@ def format_headers(headers, decode=False):
27
27
  keyToList[key].append(value)
28
28
  return keyToList
29
29
 
30
- if 'VERCEL_IPC_FD' in os.environ or 'VERCEL_IPC_PATH' in os.environ:
30
+ if 'VERCEL_IPC_PATH' in os.environ:
31
31
  from http.server import ThreadingHTTPServer
32
32
  import http
33
33
  import time
@@ -37,13 +37,8 @@ if 'VERCEL_IPC_FD' in os.environ or 'VERCEL_IPC_PATH' in os.environ:
37
37
  import logging
38
38
 
39
39
  start_time = time.time()
40
-
41
- if 'VERCEL_IPC_FD' in os.environ:
42
- ipc_fd = int(os.getenv("VERCEL_IPC_FD", ""))
43
- sock = socket.socket(fileno=ipc_fd)
44
- else:
45
- sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
46
- sock.connect(os.getenv("VERCEL_IPC_PATH", ""))
40
+ sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
41
+ sock.connect(os.getenv("VERCEL_IPC_PATH", ""))
47
42
 
48
43
  send_message = lambda message: sock.sendall((json.dumps(message) + '\0').encode())
49
44
  storage = contextvars.ContextVar('storage', default=None)
@@ -279,28 +274,24 @@ if 'VERCEL_IPC_FD' in os.environ or 'VERCEL_IPC_PATH' in os.environ:
279
274
  env[key] = wsgi_encoding_dance(value)
280
275
  for k, v in self.headers.items():
281
276
  env['HTTP_' + k.replace('-', '_').upper()] = v
282
- # Response body
283
- body = BytesIO()
284
277
 
285
278
  def start_response(status, headers, exc_info=None):
286
279
  self.send_response(int(status.split(' ')[0]))
287
280
  for name, value in headers:
288
281
  self.send_header(name, value)
289
282
  self.end_headers()
290
- return body.write
283
+ return self.wfile.write
291
284
 
292
285
  # Call the application
293
286
  response = app(env, start_response)
294
287
  try:
295
288
  for data in response:
296
289
  if data:
297
- body.write(data)
290
+ self.wfile.write(data)
291
+ self.wfile.flush()
298
292
  finally:
299
293
  if hasattr(response, 'close'):
300
294
  response.close()
301
- body = body.getvalue()
302
- self.wfile.write(body)
303
- self.wfile.flush()
304
295
  else:
305
296
  from urllib.parse import urlparse
306
297
  from io import BytesIO