wreq-js 1.1.1 → 1.2.0

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.
Files changed (51) hide show
  1. package/README.md +40 -2
  2. package/dist/generated-types.d.ts +4 -0
  3. package/dist/generated-types.d.ts.map +1 -1
  4. package/dist/test/helpers/http.d.ts +4 -0
  5. package/dist/test/helpers/http.d.ts.map +1 -0
  6. package/dist/test/helpers/http.js +11 -0
  7. package/dist/test/helpers/http.js.map +1 -0
  8. package/dist/test/helpers/local-test-server.d.ts.map +1 -1
  9. package/dist/test/helpers/local-test-server.js +98 -0
  10. package/dist/test/helpers/local-test-server.js.map +1 -1
  11. package/dist/test/http/errors.spec.d.ts +2 -0
  12. package/dist/test/http/errors.spec.d.ts.map +1 -0
  13. package/dist/test/http/errors.spec.js +33 -0
  14. package/dist/test/http/errors.spec.js.map +1 -0
  15. package/dist/test/http/headers.spec.d.ts +2 -0
  16. package/dist/test/http/headers.spec.d.ts.map +1 -0
  17. package/dist/test/http/headers.spec.js +98 -0
  18. package/dist/test/http/headers.spec.js.map +1 -0
  19. package/dist/test/http/profiles.spec.d.ts +2 -0
  20. package/dist/test/http/profiles.spec.d.ts.map +1 -0
  21. package/dist/test/http/profiles.spec.js +28 -0
  22. package/dist/test/http/profiles.spec.js.map +1 -0
  23. package/dist/test/http/requests.spec.d.ts +2 -0
  24. package/dist/test/http/requests.spec.d.ts.map +1 -0
  25. package/dist/test/http/requests.spec.js +198 -0
  26. package/dist/test/http/requests.spec.js.map +1 -0
  27. package/dist/test/http/sessions.spec.d.ts +2 -0
  28. package/dist/test/http/sessions.spec.d.ts.map +1 -0
  29. package/dist/test/http/sessions.spec.js +68 -0
  30. package/dist/test/http/sessions.spec.js.map +1 -0
  31. package/dist/test/run-with-local-server.js +24 -2
  32. package/dist/test/run-with-local-server.js.map +1 -1
  33. package/dist/types.d.ts +36 -11
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/types.js.map +1 -1
  36. package/dist/wreq-js.d.ts +46 -4
  37. package/dist/wreq-js.d.ts.map +1 -1
  38. package/dist/wreq-js.js +293 -53
  39. package/dist/wreq-js.js.map +1 -1
  40. package/package.json +7 -1
  41. package/rust/wreq-js.darwin-arm64.node +0 -0
  42. package/rust/wreq-js.darwin-x64.node +0 -0
  43. package/rust/wreq-js.linux-arm64-gnu.node +0 -0
  44. package/rust/wreq-js.linux-arm64-musl.node +0 -0
  45. package/rust/wreq-js.linux-x64-gnu.node +0 -0
  46. package/rust/wreq-js.linux-x64-musl.node +0 -0
  47. package/rust/wreq-js.win32-x64-msvc.node +0 -0
  48. package/dist/test/http.spec.d.ts +0 -2
  49. package/dist/test/http.spec.d.ts.map +0 -1
  50. package/dist/test/http.spec.js +0 -242
  51. package/dist/test/http.spec.js.map +0 -1
package/README.md CHANGED
@@ -30,7 +30,7 @@ bun add wreq-js
30
30
 
31
31
  Prebuilt binaries are provided for:
32
32
  - macOS (Intel & Apple Silicon)
33
- - Linux (x64 & ARM64)
33
+ - Linux (x64 & ARM64, glibc & musl)
34
34
  - Windows (x64)
35
35
 
36
36
  > ⚠️ If a prebuilt binary for your platform or commit is unavailable, the package will build from source.
@@ -60,6 +60,10 @@ To query supported profiles:
60
60
  import { getProfiles } from 'wreq-js';
61
61
  console.log(getProfiles());
62
62
  // ['chrome_142', 'firefox_139', 'edge_120', 'safari_18', ...]
63
+
64
+ import { getOperatingSystems } from 'wreq-js';
65
+ console.log(getOperatingSystems());
66
+ // ['windows', 'macos', 'linux', 'android', 'ios']
63
67
  ```
64
68
 
65
69
  ## Quick Start
@@ -69,6 +73,7 @@ import { fetch } from 'wreq-js';
69
73
 
70
74
  const response = await fetch('https://example.com/api', {
71
75
  browser: 'chrome_142',
76
+ os: 'windows', // emulate Windows headers/TLS instead of the default macOS
72
77
  });
73
78
 
74
79
  console.log(await response.json());
@@ -116,6 +121,40 @@ const res = await fetch('https://api.example.com/submit', {
116
121
  });
117
122
  ```
118
123
 
124
+ ### Streaming Responses
125
+
126
+ The `Response` object supports streaming via the standard `body` property, which returns a `ReadableStream<Uint8Array>`. This allows you to process large responses incrementally without loading the entire body into memory.
127
+
128
+ ```typescript
129
+ const response = await fetch('https://example.com/large-file', {
130
+ browser: 'chrome_142',
131
+ });
132
+
133
+ // Access the body stream
134
+ const stream = response.body;
135
+ if (stream) {
136
+ const reader = stream.getReader();
137
+
138
+ while (true) {
139
+ const { done, value } = await reader.read();
140
+
141
+ if (done) {
142
+ break;
143
+ }
144
+
145
+ // Process chunk (value is Uint8Array)
146
+ console.log(`Received ${value.byteLength} bytes`);
147
+ }
148
+ }
149
+ ```
150
+
151
+ **Key behaviors:**
152
+ - The `body` property is lazily initialized - it returns `null` for empty responses or a `ReadableStream` for non-empty responses
153
+ - Accessing `response.body` does **not** mark it as consumed - only reading from the stream does
154
+ - The `bodyUsed` flag becomes `true` only when you start reading from the stream
155
+ - You can call `response.clone()` to create a duplicate response before the body is consumed
156
+ - Once consumed via `json()`, `text()`, `arrayBuffer()`, or stream reading, the body cannot be read again
157
+
119
158
  ## Session & Cookie Isolation
120
159
 
121
160
  Each `fetch()` call runs in **ephemeral mode** so that TLS caches, cookies, and session data never leak across requests.
@@ -185,7 +224,6 @@ interface RequestInit {
185
224
 
186
225
  - **[Architecture Guide](docs/ARCHITECTURE.md)** - How fingerprinting and impersonation work
187
226
  - **[Build Instructions](docs/BUILD.md)** - Build from source
188
- - **[Publishing Guide](docs/PUBLISHING.md)** - Releasing new versions
189
227
 
190
228
  ## Contributing
191
229
 
@@ -6,4 +6,8 @@
6
6
  * Browser profile names supported
7
7
  */
8
8
  export type BrowserProfile = 'chrome_100' | 'chrome_101' | 'chrome_104' | 'chrome_105' | 'chrome_106' | 'chrome_107' | 'chrome_108' | 'chrome_109' | 'chrome_110' | 'chrome_114' | 'chrome_116' | 'chrome_117' | 'chrome_118' | 'chrome_119' | 'chrome_120' | 'chrome_123' | 'chrome_124' | 'chrome_126' | 'chrome_127' | 'chrome_128' | 'chrome_129' | 'chrome_130' | 'chrome_131' | 'chrome_132' | 'chrome_133' | 'chrome_134' | 'chrome_135' | 'chrome_136' | 'chrome_137' | 'chrome_138' | 'chrome_139' | 'chrome_140' | 'chrome_141' | 'chrome_142' | 'edge_101' | 'edge_122' | 'edge_127' | 'edge_131' | 'edge_134' | 'opera_116' | 'opera_117' | 'opera_118' | 'opera_119' | 'safari_ios_17.2' | 'safari_ios_17.4.1' | 'safari_ios_16.5' | 'safari_15.3' | 'safari_15.5' | 'safari_15.6.1' | 'safari_16' | 'safari_16.5' | 'safari_17.0' | 'safari_17.2.1' | 'safari_17.4.1' | 'safari_17.5' | 'safari_18' | 'safari_ipad_18' | 'safari_18.2' | 'safari_ios_18.1.1' | 'safari_18.3' | 'safari_18.3.1' | 'safari_18.5' | 'safari_26' | 'safari_ipad_26' | 'safari_ios_26' | 'firefox_109' | 'firefox_117' | 'firefox_128' | 'firefox_133' | 'firefox_135' | 'firefox_private_135' | 'firefox_android_135' | 'firefox_136' | 'firefox_private_136' | 'firefox_139' | 'firefox_142' | 'firefox_143' | 'okhttp_3.9' | 'okhttp_3.11' | 'okhttp_3.13' | 'okhttp_3.14' | 'okhttp_4.9' | 'okhttp_4.10' | 'okhttp_4.12' | 'okhttp_5';
9
+ /**
10
+ * Operating systems supported for emulation
11
+ */
12
+ export type EmulationOS = 'windows' | 'macos' | 'linux' | 'android' | 'ios';
9
13
  //# sourceMappingURL=generated-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generated-types.d.ts","sourceRoot":"","sources":["../src/generated-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,eAAe,GACf,WAAW,GACX,aAAa,GACb,aAAa,GACb,eAAe,GACf,eAAe,GACf,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,mBAAmB,GACnB,aAAa,GACb,eAAe,GACf,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,qBAAqB,GACrB,qBAAqB,GACrB,aAAa,GACb,qBAAqB,GACrB,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,aAAa,GACb,aAAa,GACb,UAAU,CAAC"}
1
+ {"version":3,"file":"generated-types.d.ts","sourceRoot":"","sources":["../src/generated-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,eAAe,GACf,WAAW,GACX,aAAa,GACb,aAAa,GACb,eAAe,GACf,eAAe,GACf,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,mBAAmB,GACnB,aAAa,GACb,eAAe,GACf,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,qBAAqB,GACrB,qBAAqB,GACrB,aAAa,GACb,qBAAqB,GACrB,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,aAAa,GACb,aAAa,GACb,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,KAAK,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const HTTP_TEST_BASE_URL: string;
2
+ export declare const httpUrl: (path: string) => string;
3
+ export declare function headerIndex(rawHeaders: string[], name: string): number;
4
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/test/helpers/http.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,QAA4D,CAAC;AAE5F,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,WAAiD,CAAC;AAEtF,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,UAE7D"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.httpUrl = exports.HTTP_TEST_BASE_URL = void 0;
4
+ exports.headerIndex = headerIndex;
5
+ exports.HTTP_TEST_BASE_URL = process.env.HTTP_TEST_BASE_URL ?? "https://httpbingo.org";
6
+ const httpUrl = (path) => new URL(path, exports.HTTP_TEST_BASE_URL).toString();
7
+ exports.httpUrl = httpUrl;
8
+ function headerIndex(rawHeaders, name) {
9
+ return rawHeaders.findIndex((value, index) => index % 2 === 0 && value.toLowerCase() === name.toLowerCase());
10
+ }
11
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/test/helpers/http.ts"],"names":[],"mappings":";;;AAIA,kCAEC;AANY,QAAA,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;AAErF,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAAzE,QAAA,OAAO,WAAkE;AAEtF,SAAgB,WAAW,CAAC,UAAoB,EAAE,IAAY;IAC5D,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-test-server.d.ts","sourceRoot":"","sources":["../../../src/test/helpers/local-test-server.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CA8MrE"}
1
+ {"version":3,"file":"local-test-server.d.ts","sourceRoot":"","sources":["../../../src/test/helpers/local-test-server.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CAqUrE"}
@@ -8,6 +8,7 @@ const WS_MAGIC_STRING = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
8
8
  async function startLocalTestServer() {
9
9
  let baseUrl = "http://127.0.0.1";
10
10
  const sockets = new Set();
11
+ const hangingRequests = new Map();
11
12
  const server = (0, node_http_1.createServer)(async (req, res) => {
12
13
  try {
13
14
  await routeHttpRequest(req, res, baseUrl);
@@ -24,6 +25,39 @@ async function startLocalTestServer() {
24
25
  server.on("connection", (socket) => {
25
26
  sockets.add(socket);
26
27
  socket.on("close", () => sockets.delete(socket));
28
+ socket.on("error", () => {
29
+ // Ignore connection-level errors during tests to avoid crashing the harness.
30
+ });
31
+ });
32
+ server.on("connect", (req, socket, head) => {
33
+ // Respond with a simple JSON body to exercise CONNECT handling without tunneling.
34
+ socket.on("error", () => {
35
+ // Swallow errors; client may close the tunnel abruptly.
36
+ });
37
+ try {
38
+ const payload = JSON.stringify({
39
+ method: req.method ?? "CONNECT",
40
+ target: req.url ?? "",
41
+ headers: req.headers,
42
+ headLength: head.length,
43
+ });
44
+ socket.write([
45
+ "HTTP/1.1 200 Connection Established",
46
+ "Content-Type: application/json",
47
+ `Content-Length: ${Buffer.byteLength(payload)}`,
48
+ "Connection: close",
49
+ "",
50
+ "",
51
+ ].join("\r\n"));
52
+ socket.write(payload);
53
+ }
54
+ catch (error) {
55
+ console.error("Local test server CONNECT handler error:", error);
56
+ socket.write("HTTP/1.1 500 Internal Server Error\r\nConnection: close\r\n\r\n");
57
+ }
58
+ finally {
59
+ socket.end();
60
+ }
27
61
  });
28
62
  server.on("upgrade", (req, socket, head) => {
29
63
  handleWebSocketUpgrade(req, socket, head);
@@ -83,6 +117,39 @@ async function startLocalTestServer() {
83
117
  rawHeaders: req.rawHeaders,
84
118
  });
85
119
  }
120
+ if (req.method === "TRACE") {
121
+ return json(res, {
122
+ method: req.method,
123
+ path,
124
+ headers: canonicalizeHeaders(req),
125
+ });
126
+ }
127
+ if (path === "/binary") {
128
+ const lengthParam = url.searchParams.get("len");
129
+ const length = Number.isFinite(Number(lengthParam)) && Number(lengthParam) > 0 ? Math.min(Number(lengthParam), 4096) : 256;
130
+ const payload = Buffer.alloc(length);
131
+ for (let i = 0; i < length; i += 1) {
132
+ payload[i] = i % 256;
133
+ }
134
+ res.statusCode = 200;
135
+ res.setHeader("Content-Type", "application/octet-stream");
136
+ res.setHeader("Content-Length", payload.length);
137
+ res.end(payload);
138
+ return;
139
+ }
140
+ if (path === "/stream/chunks") {
141
+ const chunkCount = Math.max(1, Math.min(Number(url.searchParams.get("n") ?? "3"), 16));
142
+ const chunkSize = Math.max(1, Math.min(Number(url.searchParams.get("size") ?? "1024"), 65536));
143
+ res.statusCode = 200;
144
+ res.setHeader("Content-Type", "application/octet-stream");
145
+ for (let i = 0; i < chunkCount; i += 1) {
146
+ const chunk = Buffer.alloc(chunkSize, i);
147
+ res.write(chunk);
148
+ await (0, promises_1.setTimeout)(5);
149
+ }
150
+ res.end();
151
+ return;
152
+ }
86
153
  if (path === "/cookies") {
87
154
  return json(res, { cookies: parseCookies(req.headers.cookie) });
88
155
  }
@@ -95,12 +162,43 @@ async function startLocalTestServer() {
95
162
  }
96
163
  return json(res, { cookies: { ...existingCookies, ...newCookies } });
97
164
  }
165
+ if (path === "/redirect") {
166
+ res.statusCode = 302;
167
+ res.setHeader("Location", `${resolvedBase}/json`);
168
+ res.end();
169
+ return;
170
+ }
98
171
  const delayMatch = path.match(/^\/delay\/(\d+)/);
99
172
  if (delayMatch) {
100
173
  const seconds = Number(delayMatch[1]);
101
174
  await (0, promises_1.setTimeout)(seconds * 1000);
102
175
  return json(res, { delayed: seconds, ...createEchoPayload(req, url) });
103
176
  }
177
+ if (path === "/hang") {
178
+ const id = url.searchParams.get("id");
179
+ if (!id) {
180
+ res.statusCode = 400;
181
+ return json(res, { error: "id query param required" });
182
+ }
183
+ const state = { closed: false };
184
+ hangingRequests.set(id, state);
185
+ const markClosed = () => {
186
+ state.closed = true;
187
+ };
188
+ req.socket.on("close", markClosed);
189
+ req.socket.on("error", markClosed);
190
+ return;
191
+ }
192
+ if (path === "/hang/status") {
193
+ const id = url.searchParams.get("id");
194
+ if (!id) {
195
+ res.statusCode = 400;
196
+ return json(res, { error: "id query param required" });
197
+ }
198
+ const closed = hangingRequests.get(id)?.closed ?? false;
199
+ hangingRequests.delete(id);
200
+ return json(res, { closed });
201
+ }
104
202
  res.statusCode = 404;
105
203
  json(res, { error: "not found", path });
106
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local-test-server.js","sourceRoot":"","sources":["../../../src/test/helpers/local-test-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-test-server.js","sourceRoot":"","sources":["../../../src/test/helpers/local-test-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=errors.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.spec.d.ts","sourceRoot":"","sources":["../../../src/test/http/errors.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_assert_1 = __importDefault(require("node:assert"));
7
+ const node_test_1 = require("node:test");
8
+ const wreq_js_1 = require("../../wreq-js");
9
+ const http_1 = require("../helpers/http");
10
+ (0, node_test_1.describe)("HTTP errors", () => {
11
+ (0, node_test_1.test)("handles timeout errors", async () => {
12
+ await node_assert_1.default.rejects(async () => {
13
+ await (0, wreq_js_1.fetch)((0, http_1.httpUrl)("/delay/10"), {
14
+ browser: "chrome_142",
15
+ timeout: 1000,
16
+ });
17
+ }, {
18
+ name: "RequestError",
19
+ }, "Should throw an error on timeout");
20
+ });
21
+ (0, node_test_1.test)("rejects aborted requests with AbortError", async () => {
22
+ const controller = new AbortController();
23
+ controller.abort();
24
+ await node_assert_1.default.rejects(async () => {
25
+ await (0, wreq_js_1.fetch)((0, http_1.httpUrl)("/get"), {
26
+ browser: "chrome_142",
27
+ signal: controller.signal,
28
+ timeout: 1000,
29
+ });
30
+ }, (error) => error instanceof Error && error.name === "AbortError", "Should reject with AbortError");
31
+ });
32
+ });
33
+ //# sourceMappingURL=errors.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.spec.js","sourceRoot":"","sources":["../../../src/test/http/errors.spec.ts"],"names":[],"mappings":";;;;;AAAA,8DAAiC;AACjC,yCAA2C;AAC3C,2CAAmD;AACnD,0CAA0C;AAE1C,IAAA,oBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,gBAAI,EAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,qBAAM,CAAC,OAAO,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,IAAA,eAAS,EAAC,IAAA,cAAO,EAAC,WAAW,CAAC,EAAE;gBACpC,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,EACD;YACE,IAAI,EAAE,cAAc;SACrB,EACD,kCAAkC,CACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAI,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,qBAAM,CAAC,OAAO,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,IAAA,eAAS,EAAC,IAAA,cAAO,EAAC,MAAM,CAAC,EAAE;gBAC/B,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EACzE,+BAA+B,CAChC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=headers.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.spec.d.ts","sourceRoot":"","sources":["../../../src/test/http/headers.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_assert_1 = __importDefault(require("node:assert"));
7
+ const node_test_1 = require("node:test");
8
+ const wreq_js_1 = require("../../wreq-js");
9
+ const http_1 = require("../helpers/http");
10
+ (0, node_test_1.describe)("HTTP headers", () => {
11
+ (0, node_test_1.test)("disables default headers when requested", async () => {
12
+ const customAccept = "*/*";
13
+ const response = await (0, wreq_js_1.fetch)((0, http_1.httpUrl)("/headers"), {
14
+ browser: "chrome_142",
15
+ headers: {
16
+ Accept: customAccept,
17
+ },
18
+ disableDefaultHeaders: true,
19
+ timeout: 10000,
20
+ });
21
+ node_assert_1.default.strictEqual(response.status, 200, "Should return status 200");
22
+ const body = await response.json();
23
+ node_assert_1.default.strictEqual(body.headers.Accept, customAccept, "Should use only custom Accept header without emulation headers appended");
24
+ });
25
+ (0, node_test_1.test)("appends emulation headers by default", async () => {
26
+ const customAccept = "*/*";
27
+ const response = await (0, wreq_js_1.fetch)((0, http_1.httpUrl)("/headers"), {
28
+ browser: "chrome_142",
29
+ headers: {
30
+ Accept: customAccept,
31
+ },
32
+ timeout: 10000,
33
+ });
34
+ node_assert_1.default.strictEqual(response.status, 200, "Should return status 200");
35
+ const body = await response.json();
36
+ const accept = body.headers.Accept;
37
+ node_assert_1.default.ok(accept, "Should have Accept header");
38
+ node_assert_1.default.ok(accept.includes(customAccept), "Should include custom Accept header");
39
+ });
40
+ (0, node_test_1.test)("maintains header ordering for Headers instances", async () => {
41
+ const orderedHeaders = new wreq_js_1.Headers();
42
+ orderedHeaders.append("X-First", "one");
43
+ orderedHeaders.append("X-Second", "two");
44
+ orderedHeaders.append("X-Third", "three");
45
+ const response = await (0, wreq_js_1.fetch)((0, http_1.httpUrl)("/headers"), {
46
+ browser: "chrome_142",
47
+ headers: orderedHeaders,
48
+ disableDefaultHeaders: true,
49
+ timeout: 10000,
50
+ });
51
+ node_assert_1.default.strictEqual(response.status, 200, "Should return status 200");
52
+ const body = await response.json();
53
+ node_assert_1.default.ok(body.rawHeaders, "Should include rawHeaders in the response");
54
+ const firstIndex = (0, http_1.headerIndex)(body.rawHeaders, "X-First");
55
+ const secondIndex = (0, http_1.headerIndex)(body.rawHeaders, "X-Second");
56
+ const thirdIndex = (0, http_1.headerIndex)(body.rawHeaders, "X-Third");
57
+ node_assert_1.default.ok(firstIndex !== -1, "X-First header should be present");
58
+ node_assert_1.default.ok(secondIndex !== -1, "X-Second header should be present");
59
+ node_assert_1.default.ok(thirdIndex !== -1, "X-Third header should be present");
60
+ node_assert_1.default.ok(firstIndex < secondIndex, "X-First should appear before X-Second");
61
+ node_assert_1.default.ok(secondIndex < thirdIndex, "X-Second should appear before X-Third");
62
+ });
63
+ (0, node_test_1.test)("maintains header ordering for plain objects", async () => {
64
+ const response = await (0, wreq_js_1.fetch)((0, http_1.httpUrl)("/headers"), {
65
+ browser: "chrome_142",
66
+ headers: {
67
+ "X-Start": "alpha",
68
+ "X-Middle": "beta",
69
+ "X-End": "gamma",
70
+ },
71
+ disableDefaultHeaders: true,
72
+ timeout: 10000,
73
+ });
74
+ node_assert_1.default.strictEqual(response.status, 200, "Should return status 200");
75
+ const body = await response.json();
76
+ node_assert_1.default.ok(body.rawHeaders, "Should include rawHeaders in the response");
77
+ const startIndex = (0, http_1.headerIndex)(body.rawHeaders, "X-Start");
78
+ const middleIndex = (0, http_1.headerIndex)(body.rawHeaders, "X-Middle");
79
+ const endIndex = (0, http_1.headerIndex)(body.rawHeaders, "X-End");
80
+ node_assert_1.default.ok(startIndex !== -1, "X-Start header should be present");
81
+ node_assert_1.default.ok(middleIndex !== -1, "X-Middle header should be present");
82
+ node_assert_1.default.ok(endIndex !== -1, "X-End header should be present");
83
+ node_assert_1.default.ok(startIndex < middleIndex, "X-Start should precede X-Middle");
84
+ node_assert_1.default.ok(middleIndex < endIndex, "X-Middle should precede X-End");
85
+ });
86
+ (0, node_test_1.test)("supports the Headers helper API", () => {
87
+ const headers = new wreq_js_1.Headers({
88
+ "X-Test": "alpha",
89
+ });
90
+ headers.append("x-test", "beta");
91
+ headers.set("X-Another", "value");
92
+ const collected = Array.from(headers.entries());
93
+ node_assert_1.default.strictEqual(headers.get("X-Test"), "alpha, beta", "append should concatenate values");
94
+ node_assert_1.default.strictEqual(headers.get("x-another"), "value", "set should overwrite values");
95
+ node_assert_1.default.ok(collected.length >= 2, "entries should iterate all headers");
96
+ });
97
+ });
98
+ //# sourceMappingURL=headers.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.spec.js","sourceRoot":"","sources":["../../../src/test/http/headers.spec.ts"],"names":[],"mappings":";;;;;AAAA,8DAAiC;AACjC,yCAA2C;AAC3C,2CAA4D;AAC5D,0CAAuD;AAEvD,IAAA,oBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAA,gBAAI,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAS,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE;YACpD,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,YAAY;aACrB;YACD,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,qBAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuC,CAAC;QAExE,qBAAM,CAAC,WAAW,CAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,YAAY,EACZ,yEAAyE,CAC1E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAI,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAS,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE;YACpD,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,YAAY;aACrB;YACD,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,qBAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEnC,qBAAM,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QAC/C,qBAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAI,EAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,cAAc,GAAG,IAAI,iBAAO,EAAE,CAAC;QACrC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAS,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE;YACpD,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,cAAc;YACvB,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,qBAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA4B,CAAC;QAC7D,qBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,2CAA2C,CAAC,CAAC;QAExE,MAAM,UAAU,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE3D,qBAAM,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACjE,qBAAM,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACnE,qBAAM,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACjE,qBAAM,CAAC,EAAE,CAAC,UAAU,GAAG,WAAW,EAAE,uCAAuC,CAAC,CAAC;QAC7E,qBAAM,CAAC,EAAE,CAAC,WAAW,GAAG,UAAU,EAAE,uCAAuC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAI,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAS,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE;YACpD,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO;gBAClB,UAAU,EAAE,MAAM;gBAClB,OAAO,EAAE,OAAO;aACjB;YACD,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,qBAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA4B,CAAC;QAC7D,qBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,2CAA2C,CAAC,CAAC;QAExE,MAAM,UAAU,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEvD,qBAAM,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACjE,qBAAM,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACnE,qBAAM,CAAC,EAAE,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAC7D,qBAAM,CAAC,EAAE,CAAC,UAAU,GAAG,WAAW,EAAE,iCAAiC,CAAC,CAAC;QACvE,qBAAM,CAAC,EAAE,CAAC,WAAW,GAAG,QAAQ,EAAE,+BAA+B,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAI,EAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;YAC1B,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhD,qBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,kCAAkC,CAAC,CAAC;QAC7F,qBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,6BAA6B,CAAC,CAAC;QACrF,qBAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=profiles.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.spec.d.ts","sourceRoot":"","sources":["../../../src/test/http/profiles.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_assert_1 = __importDefault(require("node:assert"));
7
+ const node_test_1 = require("node:test");
8
+ const wreq_js_1 = require("../../wreq-js");
9
+ const http_1 = require("../helpers/http");
10
+ (0, node_test_1.describe)("HTTP profiles", () => {
11
+ (0, node_test_1.test)("returns available browser profiles", () => {
12
+ const profiles = (0, wreq_js_1.getProfiles)();
13
+ node_assert_1.default.ok(Array.isArray(profiles), "Profiles should be an array");
14
+ node_assert_1.default.ok(profiles.length > 0, "Should have at least one profile");
15
+ node_assert_1.default.ok(profiles.some((p) => p.includes("chrome")) ||
16
+ profiles.some((p) => p.includes("firefox")) ||
17
+ profiles.some((p) => p.includes("safari")), "Should include standard browser profiles");
18
+ });
19
+ (0, node_test_1.test)("rejects invalid browser profiles", async () => {
20
+ await node_assert_1.default.rejects(async () => {
21
+ await (0, wreq_js_1.fetch)((0, http_1.httpUrl)("/get"), {
22
+ browser: "nonexistent_browser",
23
+ timeout: 1000,
24
+ });
25
+ }, (error) => error instanceof wreq_js_1.RequestError, "Should reject invalid browser profiles");
26
+ });
27
+ });
28
+ //# sourceMappingURL=profiles.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.spec.js","sourceRoot":"","sources":["../../../src/test/http/profiles.spec.ts"],"names":[],"mappings":";;;;;AAAA,8DAAiC;AACjC,yCAA2C;AAE3C,2CAA8E;AAC9E,0CAA0C;AAE1C,IAAA,oBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,gBAAI,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,QAAQ,GAAG,IAAA,qBAAW,GAAE,CAAC;QAE/B,qBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAClE,qBAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACnE,qBAAM,CAAC,EAAE,CACP,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC5C,0CAA0C,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAI,EAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,qBAAM,CAAC,OAAO,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,IAAA,eAAS,EAAC,IAAA,cAAO,EAAC,MAAM,CAAC,EAAE;gBAC/B,OAAO,EAAE,qBAAuC;gBAChD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,YAAY,sBAAY,EACjD,wCAAwC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=requests.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.spec.d.ts","sourceRoot":"","sources":["../../../src/test/http/requests.spec.ts"],"names":[],"mappings":""}