@loopback/http-caching-proxy 5.0.0 → 5.1.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.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { IncomingMessage } from 'http';
2
+ import { IncomingMessage } from 'node:http';
3
3
  export interface ProxyOptions {
4
4
  /**
5
5
  * Directory where to keep the cached snapshots.
@@ -8,8 +8,8 @@ exports.HttpCachingProxy = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const axios_1 = tslib_1.__importDefault(require("axios"));
10
10
  const debug_1 = tslib_1.__importDefault(require("debug"));
11
- const events_1 = require("events");
12
- const http_1 = require("http");
11
+ const node_events_1 = require("node:events");
12
+ const node_http_1 = require("node:http");
13
13
  const cacache = require('cacache');
14
14
  const debug = (0, debug_1.default)('loopback:http-caching-proxy');
15
15
  const DEFAULT_OPTIONS = {
@@ -40,7 +40,7 @@ class HttpCachingProxy {
40
40
  * Start listening.
41
41
  */
42
42
  async start() {
43
- this._server = (0, http_1.createServer)((request, response) => {
43
+ this._server = (0, node_http_1.createServer)((request, response) => {
44
44
  this._handle(request, response);
45
45
  });
46
46
  this._server.on('connect', (req, socket) => {
@@ -49,7 +49,7 @@ class HttpCachingProxy {
49
49
  socket.destroy();
50
50
  });
51
51
  this._server.listen(this._options.port);
52
- await (0, events_1.once)(this._server, 'listening');
52
+ await (0, node_events_1.once)(this._server, 'listening');
53
53
  const address = this._server.address();
54
54
  this.url = `http://127.0.0.1:${address.port}`;
55
55
  }
@@ -63,7 +63,7 @@ class HttpCachingProxy {
63
63
  const server = this._server;
64
64
  this._server = undefined;
65
65
  server.close();
66
- await (0, events_1.once)(server, 'close');
66
+ await (0, node_events_1.once)(server, 'close');
67
67
  }
68
68
  _handle(request, response) {
69
69
  const onerror = (error) => {
@@ -123,6 +123,8 @@ class HttpCachingProxy {
123
123
  responseType: 'arraybuffer',
124
124
  timeout: this._options.timeout || undefined,
125
125
  });
126
+ // If not removed, returns an "Expected http/" error.
127
+ delete backendResponse.headers['content-length'];
126
128
  debug('Got response for %s %s -> %s', clientRequest.method, clientRequest.url, backendResponse.status, backendResponse.headers, backendResponse.data);
127
129
  const metadata = {
128
130
  statusCode: backendResponse.status,
@@ -1 +1 @@
1
- {"version":3,"file":"http-caching-proxy.js","sourceRoot":"","sources":["../src/http-caching-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-caching-proxy.js","sourceRoot":"","sources":["../src/http-caching-proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loopback/http-caching-proxy",
3
3
  "description": "A caching HTTP proxy for integration tests. NOT SUITABLE FOR PRODUCTION USE!",
4
- "version": "5.0.0",
4
+ "version": "5.1.0",
5
5
  "keywords": [
6
6
  "LoopBack",
7
7
  "HTTP",
@@ -39,22 +39,22 @@
39
39
  "!*/__tests__"
40
40
  ],
41
41
  "dependencies": {
42
- "axios": "^0.27.2",
43
- "cacache": "^17.1.0",
42
+ "axios": "^1.4.0",
43
+ "cacache": "^17.1.3",
44
44
  "debug": "^4.3.4",
45
- "rimraf": "^5.0.0",
46
- "tslib": "^2.5.0"
45
+ "rimraf": "^5.0.1",
46
+ "tslib": "^2.6.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@loopback/build": "^10.0.0",
50
- "@loopback/eslint-config": "^14.0.0",
51
- "@loopback/testlab": "^6.0.0",
52
- "@types/debug": "^4.1.7",
53
- "@types/node": "^14.18.47",
49
+ "@loopback/build": "^10.1.0",
50
+ "@loopback/eslint-config": "^14.0.1",
51
+ "@loopback/testlab": "^6.1.0",
52
+ "@types/debug": "^4.1.8",
53
+ "@types/node": "^16.18.37",
54
54
  "@types/rimraf": "^3.0.2",
55
55
  "@types/tunnel": "0.0.3",
56
56
  "delay": "^5.0.0",
57
57
  "tunnel": "0.0.6"
58
58
  },
59
- "gitHead": "97a26bd5973830a1d5f28aa2f58040f953995c17"
59
+ "gitHead": "10a8fa7fbd00ac77c4aee3e7f40884b07fe1919c"
60
60
  }
@@ -3,17 +3,17 @@
3
3
  // This file is licensed under the MIT License.
4
4
  // License text available at https://opensource.org/licenses/MIT
5
5
 
6
- import axios, {AxiosInstance, AxiosRequestHeaders, Method} from 'axios';
6
+ import axios, {AxiosInstance} from 'axios';
7
7
  import debugFactory from 'debug';
8
- import {once} from 'events';
8
+ import {once} from 'node:events';
9
9
  import {
10
10
  createServer,
11
11
  IncomingMessage,
12
12
  OutgoingHttpHeaders,
13
13
  Server as HttpServer,
14
14
  ServerResponse,
15
- } from 'http';
16
- import {AddressInfo} from 'net';
15
+ } from 'node:http';
16
+ import {AddressInfo} from 'node:net';
17
17
 
18
18
  const cacache = require('cacache');
19
19
 
@@ -198,9 +198,9 @@ export class HttpCachingProxy {
198
198
  debug('Forward request to %s %s', clientRequest.method, clientRequest.url);
199
199
 
200
200
  const backendResponse = await this._axios({
201
- method: clientRequest.method as Method,
201
+ method: clientRequest.method,
202
202
  url: clientRequest.url!,
203
- headers: clientRequest.headers as AxiosRequestHeaders,
203
+ headers: clientRequest.headers,
204
204
  data: clientRequest,
205
205
  // Set the response type to `arraybuffer` to force the `data` to be a
206
206
  // Buffer to allow ease of caching
@@ -210,6 +210,9 @@ export class HttpCachingProxy {
210
210
  timeout: this._options.timeout || undefined,
211
211
  });
212
212
 
213
+ // If not removed, returns an "Expected http/" error.
214
+ delete backendResponse.headers['content-length'];
215
+
213
216
  debug(
214
217
  'Got response for %s %s -> %s',
215
218
  clientRequest.method,
@@ -221,7 +224,7 @@ export class HttpCachingProxy {
221
224
 
222
225
  const metadata: CachedMetadata = {
223
226
  statusCode: backendResponse.status,
224
- headers: backendResponse.headers,
227
+ headers: backendResponse.headers as OutgoingHttpHeaders,
225
228
  createdAt: Date.now(),
226
229
  };
227
230
 
@@ -245,7 +248,10 @@ export class HttpCachingProxy {
245
248
  {metadata},
246
249
  );
247
250
 
248
- clientResponse.writeHead(backendResponse.status, backendResponse.headers);
251
+ clientResponse.writeHead(
252
+ backendResponse.status,
253
+ backendResponse.headers as OutgoingHttpHeaders,
254
+ );
249
255
  clientResponse.end(data);
250
256
  }
251
257