rust-http-playback-proxy 0.2.0 → 0.4.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.
package/README.md CHANGED
@@ -91,7 +91,7 @@ import { loadInventory, getResourceContentPath } from 'http-playback-proxy';
91
91
 
92
92
  async function analyzeInventory() {
93
93
  // Load inventory
94
- const inventory = await loadInventory('./inventory/inventory.json');
94
+ const inventory = await loadInventory('./inventory/index.json');
95
95
 
96
96
  // Iterate through resources
97
97
  for (const [i, resource] of inventory.resources.entries()) {
@@ -155,7 +155,7 @@ interface Resource {
155
155
  rawHeaders?: Record<string, string>;
156
156
  contentEncoding?: ContentEncodingType;
157
157
  contentTypeMime?: string;
158
- contentTypeCharset?: string;
158
+ contentCharset?: string;
159
159
  contentFilePath?: string;
160
160
  contentUtf8?: string;
161
161
  contentBase64?: string;
@@ -193,7 +193,7 @@ Saves an inventory to a JSON file.
193
193
  Returns the full path to a resource's content file.
194
194
 
195
195
  #### `getInventoryPath(inventoryDir: string): string`
196
- Returns the path to the inventory.json file.
196
+ Returns the path to the index.json file.
197
197
 
198
198
  #### `ensureBinary(): Promise<void>`
199
199
  Ensures the binary is available, downloading if necessary.
Binary file
Binary file
package/dist/proxy.d.ts CHANGED
@@ -9,32 +9,24 @@ export declare class Proxy {
9
9
  readonly entryUrl?: string;
10
10
  readonly deviceType?: string;
11
11
  private _port;
12
- private _controlPort?;
13
12
  private process?;
14
- constructor(mode: ProxyMode, port: number, inventoryDir: string, controlPort?: number, entryUrl?: string, deviceType?: string);
13
+ constructor(mode: ProxyMode, port: number, inventoryDir: string, entryUrl?: string, deviceType?: string);
15
14
  /**
16
15
  * Get the actual port number (may differ from requested port if 0 was used)
17
16
  */
18
17
  get port(): number;
19
- /**
20
- * Get the control API port number (if enabled)
21
- */
22
- get controlPort(): number | undefined;
23
18
  /**
24
19
  * Update the port number (used internally when OS assigns a port)
25
20
  */
26
21
  updatePort(port: number): void;
27
- /**
28
- * Update the control port number (used internally when OS assigns a port)
29
- */
30
- updateControlPort(controlPort: number): void;
31
22
  /**
32
23
  * Set the child process
33
24
  */
34
25
  setProcess(proc: ChildProcess): void;
35
26
  /**
36
27
  * Stop the proxy gracefully
37
- * Sends shutdown request via control API if available, otherwise uses SIGTERM
28
+ * Sends SIGTERM signal (cross-platform)
29
+ * Node.js automatically converts to appropriate signal on Windows (CTRL_BREAK)
38
30
  */
39
31
  stop(): Promise<void>;
40
32
  /**
@@ -74,7 +66,7 @@ export declare function getResourceContentPath(inventoryDir: string, resource: {
74
66
  contentFilePath?: string;
75
67
  }): string;
76
68
  /**
77
- * Get the path to the inventory.json file
69
+ * Get the path to the index.json file
78
70
  */
79
71
  export declare function getInventoryPath(inventoryDir: string): string;
80
72
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAIpD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEvF;;GAEG;AACH,qBAAa,KAAK;IAChB,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAe;gBAG7B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM;IAUrB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAIpC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqE3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAcpB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAIzC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,CA6F9E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CA0F5E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAG7E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAK3G;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAIpD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEvF;;GAEG;AACH,qBAAa,KAAK;IAChB,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAC,CAAe;gBAG7B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM;IASrB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAIpC;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqE3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAcpB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAIzC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,CAyF9E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAoF5E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAG7E;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAK3G;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE7D"}
package/dist/proxy.js CHANGED
@@ -48,10 +48,9 @@ const binary_1 = require("./binary");
48
48
  * Represents a running proxy instance
49
49
  */
50
50
  class Proxy {
51
- constructor(mode, port, inventoryDir, controlPort, entryUrl, deviceType) {
51
+ constructor(mode, port, inventoryDir, entryUrl, deviceType) {
52
52
  this.mode = mode;
53
53
  this._port = port;
54
- this._controlPort = controlPort;
55
54
  this.inventoryDir = inventoryDir;
56
55
  this.entryUrl = entryUrl;
57
56
  this.deviceType = deviceType;
@@ -62,24 +61,12 @@ class Proxy {
62
61
  get port() {
63
62
  return this._port;
64
63
  }
65
- /**
66
- * Get the control API port number (if enabled)
67
- */
68
- get controlPort() {
69
- return this._controlPort;
70
- }
71
64
  /**
72
65
  * Update the port number (used internally when OS assigns a port)
73
66
  */
74
67
  updatePort(port) {
75
68
  this._port = port;
76
69
  }
77
- /**
78
- * Update the control port number (used internally when OS assigns a port)
79
- */
80
- updateControlPort(controlPort) {
81
- this._controlPort = controlPort;
82
- }
83
70
  /**
84
71
  * Set the child process
85
72
  */
@@ -88,7 +75,8 @@ class Proxy {
88
75
  }
89
76
  /**
90
77
  * Stop the proxy gracefully
91
- * Sends shutdown request via control API if available, otherwise uses SIGTERM
78
+ * Sends SIGTERM signal (cross-platform)
79
+ * Node.js automatically converts to appropriate signal on Windows (CTRL_BREAK)
92
80
  */
93
81
  async stop() {
94
82
  if (!this.process) {
@@ -99,7 +87,7 @@ class Proxy {
99
87
  reject(new Error('Proxy is not running'));
100
88
  return;
101
89
  }
102
- // Set up timeout
90
+ // Set up timeout for forceful termination
103
91
  const timeout = setTimeout(() => {
104
92
  if (this.process) {
105
93
  this.process.kill('SIGKILL');
@@ -109,48 +97,46 @@ class Proxy {
109
97
  // Listen for exit
110
98
  this.process.once('exit', (code, signal) => {
111
99
  clearTimeout(timeout);
112
- // Exit code 0 is expected for clean shutdown
113
- // Also accept null exit code and SIGINT signal
114
- if (code === 0 || code === null || signal === 'SIGINT') {
100
+ // Accept clean exits: code 0, SIGTERM, SIGINT
101
+ if (code === 0 || code === null || signal === 'SIGTERM' || signal === 'SIGINT') {
115
102
  resolve();
116
103
  }
117
104
  else {
118
105
  reject(new Error(`Proxy exited with code ${code} signal ${signal}`));
119
106
  }
120
107
  });
121
- // Send shutdown request via control API if enabled
122
- if (this._controlPort) {
123
- const http = require('http');
124
- const req = http.request({
125
- hostname: '127.0.0.1',
126
- port: this._controlPort,
127
- path: '/_shutdown',
128
- method: 'POST',
129
- }, (res) => {
130
- // Response received, proxy should be shutting down
131
- res.resume(); // Consume response
132
- });
133
- req.on('error', (err) => {
134
- // If HTTP request fails, fall back to SIGTERM
135
- console.warn(`HTTP shutdown failed: ${err.message}, falling back to SIGTERM`);
136
- try {
137
- this.process?.kill('SIGTERM');
108
+ // Send platform-appropriate signal:
109
+ // Unix: SIGTERM (standard kill signal)
110
+ // Windows: Use signal subcommand to send CTRL_BREAK via Windows API
111
+ try {
112
+ if (process.platform === 'win32') {
113
+ // On Windows, use the signal subcommand to send CTRL_BREAK
114
+ // The subcommand uses FreeConsole + AttachConsole + GenerateConsoleCtrlEvent
115
+ // to properly deliver console control events to the target process
116
+ const binaryPath = (0, binary_1.getFullBinaryPath)();
117
+ const { spawnSync } = require('child_process');
118
+ const result = spawnSync(binaryPath, ['signal', '--pid', this.process.pid.toString(), '--kind', 'ctrl-break'], { stdio: 'pipe' });
119
+ if (result.error) {
120
+ clearTimeout(timeout);
121
+ reject(new Error(`Failed to send signal: ${result.error.message}`));
122
+ return;
138
123
  }
139
- catch {
140
- // Ignore if already dead
124
+ if (result.status !== 0) {
125
+ clearTimeout(timeout);
126
+ const stderr = result.stderr?.toString() || '';
127
+ reject(new Error(`Signal command failed with exit code ${result.status}: ${stderr}`));
128
+ return;
141
129
  }
142
- });
143
- req.end();
144
- }
145
- else {
146
- // No control port, use SIGTERM directly
147
- try {
148
- this.process.kill('SIGTERM');
149
130
  }
150
- catch {
151
- // Ignore if already dead
131
+ else {
132
+ // On Unix, use standard SIGTERM
133
+ this.process.kill('SIGTERM');
152
134
  }
153
135
  }
136
+ catch (err) {
137
+ clearTimeout(timeout);
138
+ reject(err);
139
+ }
154
140
  });
155
141
  }
156
142
  /**
@@ -192,7 +178,7 @@ class Proxy {
192
178
  * This is useful after recording is complete
193
179
  */
194
180
  async getInventory() {
195
- const inventoryPath = path.join(this.inventoryDir, 'inventory.json');
181
+ const inventoryPath = path.join(this.inventoryDir, 'index.json');
196
182
  return loadInventory(inventoryPath);
197
183
  }
198
184
  }
@@ -221,11 +207,7 @@ async function startRecording(options) {
221
207
  args.push('--device', deviceType);
222
208
  // Add inventory directory
223
209
  args.push('--inventory', inventoryDir);
224
- // Add control port if specified
225
- const controlPort = options.controlPort;
226
- if (controlPort !== undefined) {
227
- args.push('--control-port', controlPort.toString());
228
- }
210
+ // Note: control-port removed from recording mode - uses signal-based shutdown only
229
211
  // Start the process with piped stdout to capture port info
230
212
  const spawnOptions = {
231
213
  stdio: ['ignore', 'pipe', 'inherit'],
@@ -235,7 +217,7 @@ async function startRecording(options) {
235
217
  spawnOptions.windowsVerbatimArguments = false;
236
218
  }
237
219
  const proc = (0, child_process_1.spawn)(binaryPath, args, spawnOptions);
238
- const proxy = new Proxy('recording', port, inventoryDir, controlPort, options.entryUrl, deviceType);
220
+ const proxy = new Proxy('recording', port, inventoryDir, options.entryUrl, deviceType);
239
221
  proxy.setProcess(proc);
240
222
  // Capture stdout to extract actual port number when using port 0
241
223
  return new Promise((resolve, reject) => {
@@ -300,11 +282,6 @@ async function startPlayback(options) {
300
282
  }
301
283
  // Add inventory directory
302
284
  args.push('--inventory', inventoryDir);
303
- // Add control port if specified
304
- const controlPort = options.controlPort;
305
- if (controlPort !== undefined) {
306
- args.push('--control-port', controlPort.toString());
307
- }
308
285
  // Start the process with piped stdout to capture port info
309
286
  const spawnOptions = {
310
287
  stdio: ['ignore', 'pipe', 'inherit'],
@@ -314,7 +291,7 @@ async function startPlayback(options) {
314
291
  spawnOptions.windowsVerbatimArguments = false;
315
292
  }
316
293
  const proc = (0, child_process_1.spawn)(binaryPath, args, spawnOptions);
317
- const proxy = new Proxy('playback', port, inventoryDir, controlPort);
294
+ const proxy = new Proxy('playback', port, inventoryDir);
318
295
  proxy.setProcess(proc);
319
296
  // Capture stdout to extract actual port number when using port 0
320
297
  return new Promise((resolve, reject) => {
@@ -381,9 +358,9 @@ function getResourceContentPath(inventoryDir, resource) {
381
358
  return path.join(inventoryDir, resource.contentFilePath);
382
359
  }
383
360
  /**
384
- * Get the path to the inventory.json file
361
+ * Get the path to the index.json file
385
362
  */
386
363
  function getInventoryPath(inventoryDir) {
387
- return path.join(inventoryDir, 'inventory.json');
364
+ return path.join(inventoryDir, 'index.json');
388
365
  }
389
366
  //# sourceMappingURL=proxy.js.map
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -17,13 +17,14 @@ export interface Resource {
17
17
  method: string;
18
18
  url: string;
19
19
  ttfbMs: number;
20
+ durationMs?: number;
20
21
  mbps?: number;
21
22
  statusCode?: number;
22
23
  errorMessage?: string;
23
24
  rawHeaders?: HttpHeaders;
24
25
  contentEncoding?: ContentEncodingType;
25
26
  contentTypeMime?: string;
26
- contentTypeCharset?: string;
27
+ contentCharset?: string;
27
28
  contentFilePath?: string;
28
29
  contentUtf8?: string;
29
30
  contentBase64?: string;
@@ -45,7 +46,6 @@ export interface RecordingOptions {
45
46
  port?: number;
46
47
  deviceType?: DeviceType;
47
48
  inventoryDir?: string;
48
- controlPort?: number;
49
49
  }
50
50
  /**
51
51
  * Options for starting a playback proxy
@@ -53,7 +53,6 @@ export interface RecordingOptions {
53
53
  export interface PlaybackOptions {
54
54
  port?: number;
55
55
  inventoryDir?: string;
56
- controlPort?: number;
57
56
  }
58
57
  /**
59
58
  * Proxy mode
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rust-http-playback-proxy",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "HTTP traffic recording and playback proxy with precise timing control for PageSpeed optimization and performance testing",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,12 +39,12 @@
39
39
  "license": "MIT",
40
40
  "repository": {
41
41
  "type": "git",
42
- "url": "https://github.com/pagespeed-quest/http-playback-proxy.git",
42
+ "url": "https://github.com/ideamans/rust-http-playback-proxy.git",
43
43
  "directory": "typescript"
44
44
  },
45
- "homepage": "https://github.com/pagespeed-quest/http-playback-proxy#readme",
45
+ "homepage": "https://github.com/ideamans/rust-http-playback-proxy#readme",
46
46
  "bugs": {
47
- "url": "https://github.com/pagespeed-quest/http-playback-proxy/issues"
47
+ "url": "https://github.com/ideamans/rust-http-playback-proxy/issues"
48
48
  },
49
49
  "dependencies": {
50
50
  "tar": "^7.0.0"