@wooksjs/http-proxy 0.6.0 → 0.6.1

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.cjs CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  //#region rolldown:runtime
3
2
  var __create = Object.create;
4
3
  var __defProp = Object.defineProperty;
@@ -22,9 +21,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
21
  }) : target, mod));
23
22
 
24
23
  //#endregion
24
+ const node_url = __toESM(require("node:url"));
25
25
  const __wooksjs_event_core = __toESM(require("@wooksjs/event-core"));
26
26
  const __wooksjs_event_http = __toESM(require("@wooksjs/event-http"));
27
- const node_fetch_native = __toESM(require("node-fetch-native"));
28
27
 
29
28
  //#region packages/http-proxy/src/proxy-utils.ts
30
29
  var IterableRecords = class {
@@ -34,7 +33,7 @@ var IterableRecords = class {
34
33
  index = 0;
35
34
  next() {
36
35
  return {
37
- value: undefined,
36
+ value: void 0,
38
37
  done: true
39
38
  };
40
39
  }
@@ -52,7 +51,7 @@ var CookiesIterable = class extends IterableRecords {
52
51
  value: [str.slice(0, ind), str.slice(ind + 1)],
53
52
  done: false
54
53
  } : {
55
- value: undefined,
54
+ value: void 0,
56
55
  done: true
57
56
  };
58
57
  }
@@ -68,7 +67,7 @@ var HeadersIterable = class extends IterableRecords {
68
67
  value: this.entries[this.index++],
69
68
  done: false
70
69
  } : {
71
- value: undefined,
70
+ value: void 0,
72
71
  done: true
73
72
  };
74
73
  }
@@ -82,7 +81,7 @@ function applyProxyControls(records, controls, additionalBlockers) {
82
81
  if (add) result[name] = value;
83
82
  }
84
83
  if (overwrite) if (typeof overwrite === "function") result = overwrite(result);
85
- else result = {
84
+ else result = {
86
85
  ...result,
87
86
  ...overwrite
88
87
  };
@@ -98,10 +97,11 @@ const reqHeadersToBlock = [
98
97
  "upgrade-insecure-requests",
99
98
  "cookie"
100
99
  ];
100
+ const SET_COOKIE = "set-cookie";
101
101
  const resHeadersToBlock = [
102
102
  "transfer-encoding",
103
103
  "content-encoding",
104
- "set-cookie"
104
+ SET_COOKIE
105
105
  ];
106
106
  function useProxy() {
107
107
  const status = (0, __wooksjs_event_http.useStatus)();
@@ -111,9 +111,9 @@ function useProxy() {
111
111
  const logger = (0, __wooksjs_event_core.useEventLogger)("http-proxy");
112
112
  const setHeadersObject = getSetHeaders();
113
113
  return async function proxy(target, opts) {
114
- const targetUrl = new URL(target);
114
+ const targetUrl = new node_url.URL(target);
115
115
  const path = targetUrl.pathname || "/";
116
- const url = new URL(path, targetUrl.origin).toString() + targetUrl.search;
116
+ const url = new node_url.URL(path, targetUrl.origin).toString() + targetUrl.search;
117
117
  const modifiedHeaders = {
118
118
  ...req.headers,
119
119
  host: targetUrl.hostname
@@ -123,32 +123,32 @@ function useProxy() {
123
123
  if (cookies) headers.cookie = Object.entries(cookies).map((v) => v.join("=")).join("; ");
124
124
  const method = opts?.method || req.method;
125
125
  if (opts?.debug) {
126
- logger.info(`${"\x1B[32m"}${req.method} ${req.url}${"\x1B[33m"}${"\x1B[36m"}${method} ${url}${"\x1B[33m"}`);
127
- logger.info(`${"\x1B[33m"}headers:`, JSON.stringify(headers, null, " "), "\x1B[39m");
126
+ logger.info(`${req.method} ${req.url} → ${method} ${url}`);
127
+ logger.info(`headers:`, JSON.stringify(headers, null, " "), "\x1B[39m");
128
128
  }
129
- const resp = await (0, node_fetch_native.fetch)(url, {
129
+ const resp = await fetch(url, {
130
130
  method,
131
- body: ["GET", "HEAD"].includes(method) ? undefined : req,
131
+ body: ["GET", "HEAD"].includes(method) ? void 0 : req,
132
132
  headers
133
133
  });
134
134
  status.value = resp.status;
135
135
  if (opts?.debug) {
136
- logger.info(`${resp.status} ${"\x1B[32m"}${req.method} ${req.url}${"\x1B[33m"}${"\x1B[36m"}${method} ${url}${"\x1B[33m"}`);
137
- logger.info(`${"\x1B[33m"}response headers:${"\x1B[39m"}`);
136
+ logger.info(`${resp.status} ${req.method} ${req.url} → ${method} ${url}`);
137
+ logger.info(`response headers:`);
138
138
  }
139
139
  const resHeaders = opts?.resHeaders ? applyProxyControls(resp.headers.entries(), opts.resHeaders, resHeadersToBlock) : null;
140
- const resCookies = opts?.resCookies ? applyProxyControls(new CookiesIterable(resp.headers.get("set-cookie") || ""), opts.resCookies) : null;
140
+ const resCookies = opts?.resCookies ? applyProxyControls(new CookiesIterable(resp.headers.get(SET_COOKIE) || ""), opts.resCookies) : null;
141
141
  if (resHeaders) {
142
142
  for (const [name, value] of Object.entries(resHeaders)) if (name) {
143
143
  setHeader(name, value);
144
- if (opts?.debug) logger.info(`\t${"\x1B[33m"}${name}=${"\x1B[32m"}${value}${"\x1B[39m"}`);
144
+ if (opts?.debug) logger.info(`\t${name}=${value}`);
145
145
  }
146
146
  }
147
147
  if (resCookies) {
148
- setHeadersObject["set-cookie"] = setHeadersObject["set-cookie"] || [];
148
+ setHeadersObject[SET_COOKIE] = setHeadersObject[SET_COOKIE] || [];
149
149
  for (const [name, value] of Object.entries(resCookies)) if (name) {
150
- setHeadersObject["set-cookie"].push(`${name}=${value}`);
151
- if (opts?.debug) logger.info(`\t${"\x1B[1m"}${"\x1B[33m"}set-cookie=${"\x1B[32m"}${name}=${value}${"\x1B[0m"}`);
150
+ setHeadersObject[SET_COOKIE].push(`${name}=${value}`);
151
+ if (opts?.debug) logger.info(`\t${SET_COOKIE}=${name}=${value}`);
152
152
  }
153
153
  }
154
154
  return resp;
@@ -156,4 +156,4 @@ function useProxy() {
156
156
  }
157
157
 
158
158
  //#endregion
159
- exports.useProxy = useProxy
159
+ exports.useProxy = useProxy;
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
+ import { URL } from "node:url";
1
2
  import { useEventLogger } from "@wooksjs/event-core";
2
3
  import { useHttpContext, useSetHeaders, useStatus } from "@wooksjs/event-http";
3
- import { fetch } from "node-fetch-native";
4
4
 
5
5
  //#region packages/http-proxy/src/proxy-utils.ts
6
6
  var IterableRecords = class {
@@ -10,7 +10,7 @@ var IterableRecords = class {
10
10
  index = 0;
11
11
  next() {
12
12
  return {
13
- value: undefined,
13
+ value: void 0,
14
14
  done: true
15
15
  };
16
16
  }
@@ -28,7 +28,7 @@ var CookiesIterable = class extends IterableRecords {
28
28
  value: [str.slice(0, ind), str.slice(ind + 1)],
29
29
  done: false
30
30
  } : {
31
- value: undefined,
31
+ value: void 0,
32
32
  done: true
33
33
  };
34
34
  }
@@ -44,7 +44,7 @@ var HeadersIterable = class extends IterableRecords {
44
44
  value: this.entries[this.index++],
45
45
  done: false
46
46
  } : {
47
- value: undefined,
47
+ value: void 0,
48
48
  done: true
49
49
  };
50
50
  }
@@ -58,7 +58,7 @@ function applyProxyControls(records, controls, additionalBlockers) {
58
58
  if (add) result[name] = value;
59
59
  }
60
60
  if (overwrite) if (typeof overwrite === "function") result = overwrite(result);
61
- else result = {
61
+ else result = {
62
62
  ...result,
63
63
  ...overwrite
64
64
  };
@@ -74,10 +74,11 @@ const reqHeadersToBlock = [
74
74
  "upgrade-insecure-requests",
75
75
  "cookie"
76
76
  ];
77
+ const SET_COOKIE = "set-cookie";
77
78
  const resHeadersToBlock = [
78
79
  "transfer-encoding",
79
80
  "content-encoding",
80
- "set-cookie"
81
+ SET_COOKIE
81
82
  ];
82
83
  function useProxy() {
83
84
  const status = useStatus();
@@ -99,32 +100,32 @@ function useProxy() {
99
100
  if (cookies) headers.cookie = Object.entries(cookies).map((v) => v.join("=")).join("; ");
100
101
  const method = opts?.method || req.method;
101
102
  if (opts?.debug) {
102
- logger.info(`${"\x1B[32m"}${req.method} ${req.url}${"\x1B[33m"}${"\x1B[36m"}${method} ${url}${"\x1B[33m"}`);
103
- logger.info(`${"\x1B[33m"}headers:`, JSON.stringify(headers, null, " "), "\x1B[39m");
103
+ logger.info(`${req.method} ${req.url} → ${method} ${url}`);
104
+ logger.info(`headers:`, JSON.stringify(headers, null, " "), "\x1B[39m");
104
105
  }
105
106
  const resp = await fetch(url, {
106
107
  method,
107
- body: ["GET", "HEAD"].includes(method) ? undefined : req,
108
+ body: ["GET", "HEAD"].includes(method) ? void 0 : req,
108
109
  headers
109
110
  });
110
111
  status.value = resp.status;
111
112
  if (opts?.debug) {
112
- logger.info(`${resp.status} ${"\x1B[32m"}${req.method} ${req.url}${"\x1B[33m"}${"\x1B[36m"}${method} ${url}${"\x1B[33m"}`);
113
- logger.info(`${"\x1B[33m"}response headers:${"\x1B[39m"}`);
113
+ logger.info(`${resp.status} ${req.method} ${req.url} → ${method} ${url}`);
114
+ logger.info(`response headers:`);
114
115
  }
115
116
  const resHeaders = opts?.resHeaders ? applyProxyControls(resp.headers.entries(), opts.resHeaders, resHeadersToBlock) : null;
116
- const resCookies = opts?.resCookies ? applyProxyControls(new CookiesIterable(resp.headers.get("set-cookie") || ""), opts.resCookies) : null;
117
+ const resCookies = opts?.resCookies ? applyProxyControls(new CookiesIterable(resp.headers.get(SET_COOKIE) || ""), opts.resCookies) : null;
117
118
  if (resHeaders) {
118
119
  for (const [name, value] of Object.entries(resHeaders)) if (name) {
119
120
  setHeader(name, value);
120
- if (opts?.debug) logger.info(`\t${"\x1B[33m"}${name}=${"\x1B[32m"}${value}${"\x1B[39m"}`);
121
+ if (opts?.debug) logger.info(`\t${name}=${value}`);
121
122
  }
122
123
  }
123
124
  if (resCookies) {
124
- setHeadersObject["set-cookie"] = setHeadersObject["set-cookie"] || [];
125
+ setHeadersObject[SET_COOKIE] = setHeadersObject[SET_COOKIE] || [];
125
126
  for (const [name, value] of Object.entries(resCookies)) if (name) {
126
- setHeadersObject["set-cookie"].push(`${name}=${value}`);
127
- if (opts?.debug) logger.info(`\t${"\x1B[1m"}${"\x1B[33m"}set-cookie=${"\x1B[32m"}${name}=${value}${"\x1B[0m"}`);
127
+ setHeadersObject[SET_COOKIE].push(`${name}=${value}`);
128
+ if (opts?.debug) logger.info(`\t${SET_COOKIE}=${name}=${value}`);
128
129
  }
129
130
  }
130
131
  return resp;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wooksjs/http-proxy",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Proxy Wooks composable",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -39,16 +39,14 @@
39
39
  "url": "https://github.com/wooksjs/wooksjs/issues"
40
40
  },
41
41
  "peerDependencies": {
42
- "@wooksjs/event-core": "^0.6.0",
43
- "@wooksjs/event-http": "^0.6.0"
44
- },
45
- "dependencies": {
46
- "node-fetch-native": "^1.0.1"
42
+ "@wooksjs/event-core": "^0.6.1",
43
+ "@wooksjs/event-http": "^0.6.1"
47
44
  },
45
+ "dependencies": {},
48
46
  "homepage": "https://github.com/wooksjs/wooksjs/tree/main/packages/http-proxy#readme",
49
47
  "devDependencies": {
50
- "typescript": "^5.7.3",
51
- "vitest": "^2.1.8"
48
+ "typescript": "^5.8.3",
49
+ "vitest": "^3.2.4"
52
50
  },
53
51
  "scripts": {
54
52
  "build": "rolldown -c ../../rolldown.config.mjs"