@vercel/functions 3.7.1 → 3.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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @vercel/functions
2
2
 
3
+ ## 3.7.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 071569d: Add a `maxPayload` option to `experimental_upgradeWebSocket()`, defaulting to 256 KiB.
8
+ - @vercel/oidc@3.6.2
9
+
3
10
  ## 3.7.1
4
11
 
5
12
  ### Patch Changes
@@ -11,6 +11,7 @@
11
11
  - [PurgeApi](interfaces/PurgeApi.md)
12
12
  - [Request](interfaces/Request.md)
13
13
  - [RuntimeCache](interfaces/RuntimeCache.md)
14
+ - [UpgradeWebSocketOptions](interfaces/UpgradeWebSocketOptions.md)
14
15
  - [WebSocket](interfaces/WebSocket.md)
15
16
 
16
17
  ## Type Aliases
@@ -4,9 +4,9 @@
4
4
 
5
5
  # Function: experimental\_upgradeWebSocket()
6
6
 
7
- > **experimental\_upgradeWebSocket**(`handler`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`Response`](https://developer.mozilla.org/docs/Web/API/Response)\>
7
+ > **experimental\_upgradeWebSocket**(`handler`, `options?`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`Response`](https://developer.mozilla.org/docs/Web/API/Response)\>
8
8
 
9
- Defined in: [packages/functions/src/websocket/index.ts:16](https://github.com/vercel/vercel/blob/main/packages/functions/src/websocket/index.ts#L16)
9
+ Defined in: [packages/functions/src/websocket/index.ts:22](https://github.com/vercel/vercel/blob/main/packages/functions/src/websocket/index.ts#L22)
10
10
 
11
11
  ## Parameters
12
12
 
@@ -14,6 +14,10 @@ Defined in: [packages/functions/src/websocket/index.ts:16](https://github.com/ve
14
14
 
15
15
  (`ws`) => `void` \| [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\>
16
16
 
17
+ ### options?
18
+
19
+ [`UpgradeWebSocketOptions`](../interfaces/UpgradeWebSocketOptions.md) = `{}`
20
+
17
21
  ## Returns
18
22
 
19
23
  [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`Response`](https://developer.mozilla.org/docs/Web/API/Response)\>
@@ -0,0 +1,15 @@
1
+ [**@vercel/functions**](../../README.md)
2
+
3
+ ***
4
+
5
+ # Interface: UpgradeWebSocketOptions
6
+
7
+ Defined in: [packages/functions/src/websocket/index.ts:6](https://github.com/vercel/vercel/blob/main/packages/functions/src/websocket/index.ts#L6)
8
+
9
+ ## Properties
10
+
11
+ ### maxPayload?
12
+
13
+ > `optional` **maxPayload?**: `number`
14
+
15
+ Defined in: [packages/functions/src/websocket/index.ts:7](https://github.com/vercel/vercel/blob/main/packages/functions/src/websocket/index.ts#L7)
package/index.d.ts CHANGED
@@ -11,4 +11,5 @@ export type { PurgeApi, DangerouslyDeleteOptions } from './purge/types';
11
11
  export { addCacheTag } from './addcachetag';
12
12
  export type { AddCacheTagApi } from './addcachetag/types';
13
13
  export { experimental_upgradeWebSocket } from './websocket';
14
+ export type { UpgradeWebSocketOptions } from './websocket';
14
15
  export type { WebSocket, RawData as WebSocketData } from 'ws';
package/package.json CHANGED
@@ -30,7 +30,7 @@
30
30
  "require": "./middleware.js"
31
31
  }
32
32
  },
33
- "version": "3.7.1",
33
+ "version": "3.7.2",
34
34
  "repository": {
35
35
  "directory": "packages/functions",
36
36
  "type": "git",
@@ -77,7 +77,7 @@
77
77
  "access": "public"
78
78
  },
79
79
  "dependencies": {
80
- "@vercel/oidc": "3.6.1"
80
+ "@vercel/oidc": "3.6.2"
81
81
  },
82
82
  "scripts": {
83
83
  "pretest": "pnpm run build:code",
@@ -1,2 +1,5 @@
1
1
  import type { WebSocket } from 'ws';
2
- export declare function experimental_upgradeWebSocket(handler: (ws: WebSocket) => void | Promise<void>): Promise<Response>;
2
+ export interface UpgradeWebSocketOptions {
3
+ maxPayload?: number;
4
+ }
5
+ export declare function experimental_upgradeWebSocket(handler: (ws: WebSocket) => void | Promise<void>, options?: UpgradeWebSocketOptions): Promise<Response>;
@@ -32,6 +32,7 @@ __export(websocket_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(websocket_exports);
34
34
  var import_get_context = require("../get-context");
35
+ const DEFAULT_MAX_PAYLOAD = 256 * 1024;
35
36
  async function loadWebSocketServer() {
36
37
  try {
37
38
  const ws = await import("ws");
@@ -42,7 +43,7 @@ async function loadWebSocketServer() {
42
43
  );
43
44
  }
44
45
  }
45
- async function experimental_upgradeWebSocket(handler) {
46
+ async function experimental_upgradeWebSocket(handler, options = {}) {
46
47
  const ctx = (0, import_get_context.getContext)();
47
48
  if (typeof ctx.upgradeWebSocket !== "function") {
48
49
  throw new Error(
@@ -51,7 +52,10 @@ async function experimental_upgradeWebSocket(handler) {
51
52
  }
52
53
  const WebSocketServer = await loadWebSocketServer();
53
54
  const { req, socket, head } = ctx.upgradeWebSocket();
54
- const wss = new WebSocketServer({ noServer: true });
55
+ const wss = new WebSocketServer({
56
+ noServer: true,
57
+ maxPayload: options.maxPayload ?? DEFAULT_MAX_PAYLOAD
58
+ });
55
59
  const ws = await new Promise((resolve, reject) => {
56
60
  const cleanup = () => {
57
61
  socket.removeListener("error", onError);