@veramo/url-handler 4.0.1-next.8 → 4.0.1-unstable.4
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/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -5
- package/build/index.js.map +1 -1
- package/build/message-handler.d.ts +0 -1
- package/build/message-handler.d.ts.map +1 -1
- package/build/message-handler.js +34 -56
- package/build/message-handler.js.map +1 -1
- package/build/tsdoc-metadata.json +1 -1
- package/package.json +10 -4
- package/src/__tests__/message-handler.test.ts +7 -1
- package/src/index.ts +1 -1
- package/src/message-handler.ts +1 -2
package/build/index.d.ts
CHANGED
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
|
package/build/index.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UrlMessageHandler = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Provides a {@link @veramo/url-handler#UrlMessageHandler | plugin } for the
|
|
6
3
|
* {@link @veramo/message-handler#MessageHandler} that can extract a raw message from a URL query string or by fetching.
|
|
7
4
|
*
|
|
8
5
|
* @packageDocumentation
|
|
9
6
|
*/
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "UrlMessageHandler", { enumerable: true, get: function () { return message_handler_1.UrlMessageHandler; } });
|
|
7
|
+
export { UrlMessageHandler } from './message-handler.js';
|
|
12
8
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../src/message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../src/message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAOzE;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,sBAAsB;IACrD,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAkC7E"}
|
package/build/message-handler.js
CHANGED
|
@@ -1,73 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.UrlMessageHandler = void 0;
|
|
16
|
-
require("cross-fetch/polyfill");
|
|
17
|
-
const message_handler_1 = require("@veramo/message-handler");
|
|
18
|
-
const parse = require("url-parse");
|
|
19
|
-
const debug_1 = __importDefault(require("debug"));
|
|
20
|
-
const debug = (0, debug_1.default)('veramo:url:message-handler');
|
|
1
|
+
import { AbstractMessageHandler } from '@veramo/message-handler';
|
|
2
|
+
import parse from 'url-parse';
|
|
3
|
+
import Debug from 'debug';
|
|
4
|
+
const debug = Debug('veramo:url:message-handler');
|
|
21
5
|
/**
|
|
22
6
|
* An implementation of {@link @veramo/message-handler#AbstractMessageHandler | AbstractMessageHandler} that can
|
|
23
7
|
* extract a message from a URL.
|
|
24
8
|
*
|
|
25
9
|
* @public
|
|
26
10
|
*/
|
|
27
|
-
class UrlMessageHandler extends
|
|
28
|
-
handle(message, context) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const parsed2 = parse(response.url, {}, true);
|
|
48
|
-
if (parsed2 && parsed2.query && parsed2.query.c_i) {
|
|
49
|
-
message.raw = parsed2.query.c_i;
|
|
50
|
-
message.addMetaData({ type: 'URL', value: parsed2.origin + parsed2.pathname });
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
message.raw = yield response.text();
|
|
54
|
-
message.addMetaData({ type: 'URL', value: url });
|
|
55
|
-
}
|
|
11
|
+
export class UrlMessageHandler extends AbstractMessageHandler {
|
|
12
|
+
async handle(message, context) {
|
|
13
|
+
if (message.raw) {
|
|
14
|
+
const parsed = parse(message.raw, {}, true);
|
|
15
|
+
if (parsed && parsed.query && parsed.query.c_i) {
|
|
16
|
+
debug('Detected standard URL');
|
|
17
|
+
message.raw = parsed.query.c_i;
|
|
18
|
+
message.addMetaData({ type: 'URL', value: parsed.origin + parsed.pathname });
|
|
19
|
+
}
|
|
20
|
+
else if (parsed?.hostname) {
|
|
21
|
+
try {
|
|
22
|
+
const url = message.raw;
|
|
23
|
+
debug('Fetching URL', url);
|
|
24
|
+
const response = await fetch(url);
|
|
25
|
+
if (response?.url && response.url !== url) {
|
|
26
|
+
debug('Detected redirect URL');
|
|
27
|
+
const parsed2 = parse(response.url, {}, true);
|
|
28
|
+
if (parsed2 && parsed2.query && parsed2.query.c_i) {
|
|
29
|
+
message.raw = parsed2.query.c_i;
|
|
30
|
+
message.addMetaData({ type: 'URL', value: parsed2.origin + parsed2.pathname });
|
|
56
31
|
}
|
|
57
32
|
else {
|
|
58
|
-
message.raw =
|
|
33
|
+
message.raw = await response.text();
|
|
59
34
|
message.addMetaData({ type: 'URL', value: url });
|
|
60
35
|
}
|
|
61
36
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
37
|
+
else {
|
|
38
|
+
message.raw = await response.text();
|
|
39
|
+
message.addMetaData({ type: 'URL', value: url });
|
|
65
40
|
}
|
|
66
41
|
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
console.log(e);
|
|
44
|
+
debug(e.message);
|
|
45
|
+
}
|
|
67
46
|
}
|
|
68
|
-
|
|
69
|
-
|
|
47
|
+
}
|
|
48
|
+
return super.handle(message, context);
|
|
70
49
|
}
|
|
71
50
|
}
|
|
72
|
-
exports.UrlMessageHandler = UrlMessageHandler;
|
|
73
51
|
//# sourceMappingURL=message-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../src/message-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../src/message-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,KAAK,MAAM,WAAW,CAAA;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,sBAAsB;IAC3D,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,OAA0B;QACvD,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;YAC3C,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC9C,KAAK,CAAC,uBAAuB,CAAC,CAAA;gBAC9B,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAA;gBAC9B,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;aAC7E;iBAAM,IAAI,MAAM,EAAE,QAAQ,EAAE;gBAC3B,IAAI;oBACF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;oBACvB,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;oBAC1B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;oBACjC,IAAI,QAAQ,EAAE,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE;wBACzC,KAAK,CAAC,uBAAuB,CAAC,CAAA;wBAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;wBAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;4BACjD,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAA;4BAC/B,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;yBAC/E;6BAAM;4BACL,OAAO,CAAC,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;4BACnC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;yBACjD;qBACF;yBAAM;wBACL,OAAO,CAAC,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;wBACnC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;qBACjD;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBACd,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;iBACjB;aACF;SACF;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veramo/url-handler",
|
|
3
3
|
"description": "Veramo message handler plugin to decode URL messages.",
|
|
4
|
-
"version": "4.0.1-
|
|
4
|
+
"version": "4.0.1-unstable.4+a20894d6",
|
|
5
5
|
"main": "build/index.js",
|
|
6
|
+
"exports": "./build/index.js",
|
|
6
7
|
"types": "build/index.d.ts",
|
|
7
8
|
"scripts": {
|
|
8
9
|
"build": "tsc",
|
|
9
10
|
"extract-api": "yarn veramo dev extract-api"
|
|
10
11
|
},
|
|
11
12
|
"dependencies": {
|
|
12
|
-
"@veramo/core": "^4.0.1-
|
|
13
|
-
"@veramo/message-handler": "^4.0.1-
|
|
13
|
+
"@veramo/core": "^4.0.1-unstable.4+a20894d6",
|
|
14
|
+
"@veramo/message-handler": "^4.0.1-unstable.4+a20894d6",
|
|
14
15
|
"cross-fetch": "^3.1.4",
|
|
15
16
|
"debug": "^4.3.3",
|
|
16
17
|
"url-parse": "^1.5.4"
|
|
@@ -36,5 +37,10 @@
|
|
|
36
37
|
],
|
|
37
38
|
"license": "Apache-2.0",
|
|
38
39
|
"keywords": [],
|
|
39
|
-
"
|
|
40
|
+
"type": "module",
|
|
41
|
+
"moduleDirectories": [
|
|
42
|
+
"node_modules",
|
|
43
|
+
"src"
|
|
44
|
+
],
|
|
45
|
+
"gitHead": "a20894d60b23ab098391dd9d8ff6f96474081dc5"
|
|
40
46
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Message } from '@veramo/message-handler'
|
|
2
|
-
import { UrlMessageHandler } from '../index'
|
|
2
|
+
import { UrlMessageHandler } from '../index.js'
|
|
3
3
|
import fetchMock, { MockParams } from 'jest-fetch-mock'
|
|
4
4
|
import { IAgent } from '@veramo/core'
|
|
5
|
+
import { jest } from '@jest/globals'
|
|
5
6
|
fetchMock.enableMocks()
|
|
6
7
|
|
|
7
8
|
const context = {
|
|
@@ -18,6 +19,7 @@ describe('@veramo/url-handler', () => {
|
|
|
18
19
|
|
|
19
20
|
it('should reject unknown message type', async () => {
|
|
20
21
|
const message = new Message({ raw: 'test', metaData: [{ type: 'test' }] })
|
|
22
|
+
// @ts-ignore
|
|
21
23
|
await expect(messageHandler.handle(message, context)).rejects.toThrow('Unsupported message type')
|
|
22
24
|
})
|
|
23
25
|
|
|
@@ -32,6 +34,7 @@ describe('@veramo/url-handler', () => {
|
|
|
32
34
|
},
|
|
33
35
|
],
|
|
34
36
|
})
|
|
37
|
+
// @ts-ignore
|
|
35
38
|
await expect(messageHandler.handle(message, context)).rejects.toThrow('Unsupported message type')
|
|
36
39
|
expect(message.raw).toEqual(JWT)
|
|
37
40
|
})
|
|
@@ -41,6 +44,7 @@ describe('@veramo/url-handler', () => {
|
|
|
41
44
|
fetchMock.mockResponse('mockbody')
|
|
42
45
|
expect.assertions(2)
|
|
43
46
|
|
|
47
|
+
// @ts-ignore
|
|
44
48
|
await expect(messageHandler.handle(message, context)).rejects.toThrow('Unsupported message type')
|
|
45
49
|
|
|
46
50
|
expect(message.raw).toEqual('mockbody')
|
|
@@ -54,6 +58,7 @@ describe('@veramo/url-handler', () => {
|
|
|
54
58
|
} as MockParams)
|
|
55
59
|
expect.assertions(2)
|
|
56
60
|
|
|
61
|
+
// @ts-ignore
|
|
57
62
|
await expect(messageHandler.handle(message, context)).rejects.toThrow('Unsupported message type')
|
|
58
63
|
|
|
59
64
|
expect(message.raw).toEqual('asdf')
|
|
@@ -67,6 +72,7 @@ describe('@veramo/url-handler', () => {
|
|
|
67
72
|
} as MockParams)
|
|
68
73
|
expect.assertions(2)
|
|
69
74
|
|
|
75
|
+
// @ts-ignore
|
|
70
76
|
await expect(messageHandler.handle(message, context)).rejects.toThrow('Unsupported message type')
|
|
71
77
|
|
|
72
78
|
expect(message.raw).toEqual('otherbody')
|
package/src/index.ts
CHANGED
package/src/message-handler.ts
CHANGED