@crimson-education/browser-logger 3.0.3-pinpoint-proxy.0 → 3.0.3-pinpoint-proxy.2
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amplifyReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"amplifyReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,SAAS,EACT,QAAQ,EAER,kBAAkB,EAGlB,WAAW,EACZ,MAAM,UAAU,CAAC;AAIlB,aAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7D,aAAK,sBAAsB,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,eAAe,CAAC,CAAC,MAAM,EAAE,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEvE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,8BAA8B,CAAC;CAC5C;AAED;;;;GAIG;AACH,aAAK,8BAA8B,GAAG;IACpC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,GAAG,SAAS,CA4J3F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,UAAO,GAAG,YAAY,CAqBhG;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,SAAS,GAAE,MAAM,GAAG,SAAqB,EACzC,WAAW,UAAO,GACjB,YAAY,CAsBd"}
|
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildAttributeMap = exports.asAttributeMap = exports.amplifyReporter = void 0;
|
|
4
4
|
const auth_1 = require("@aws-amplify/auth");
|
|
5
5
|
const analytics_1 = require("@aws-amplify/analytics");
|
|
6
|
+
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
6
7
|
const logger_1 = require("../logger");
|
|
7
8
|
function amplifyReporter(info, config) {
|
|
8
|
-
var _a
|
|
9
|
+
var _a;
|
|
9
10
|
if (config.identityPoolId !== false) {
|
|
10
11
|
auth_1.Auth.configure({
|
|
11
12
|
region: config.region,
|
|
@@ -58,15 +59,37 @@ function amplifyReporter(info, config) {
|
|
|
58
59
|
}
|
|
59
60
|
if (config.proxyUrl) {
|
|
60
61
|
// No public API for overriding where the Pinpoint client sends events to... 🤮
|
|
61
|
-
|
|
62
|
+
// Pinpoint client isn't available synchronously because it is instantiated when events get sent out,
|
|
63
|
+
// and then reinstantiated whenever the API credentials change. We need to hook `_initClients` to ensure
|
|
64
|
+
// that the Pinpoint client being used is always patched with our custom endpoint.
|
|
65
|
+
const provider = analytics_1.Analytics.getPluggable('AWSPinpoint');
|
|
62
66
|
if (provider) {
|
|
63
67
|
const proxyUrl = new URL(config.proxyUrl);
|
|
64
|
-
provider.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
if (typeof provider._initClients === 'function') {
|
|
69
|
+
const originalInitClients = provider._initClients;
|
|
70
|
+
provider._initClients = async (credentials) => {
|
|
71
|
+
const result = await originalInitClients._initClients(credentials);
|
|
72
|
+
const pinpointClient = provider.pinpointClient;
|
|
73
|
+
if (pinpointClient) {
|
|
74
|
+
pinpointClient.config.endpoint = () => Promise.resolve({
|
|
75
|
+
hostname: proxyUrl.hostname,
|
|
76
|
+
// Passing proxyUrl.pathname here doesn't work; it gets overridden
|
|
77
|
+
path: '/',
|
|
78
|
+
port: undefined,
|
|
79
|
+
protocol: proxyUrl.protocol,
|
|
80
|
+
});
|
|
81
|
+
pinpointClient.middlewareStack.add((next) => (args) => {
|
|
82
|
+
// Add proxyUrl.pathname to final request url if it was provided
|
|
83
|
+
if (proxyUrl.pathname !== '/' && protocol_http_1.HttpRequest.isInstance(args.request)) {
|
|
84
|
+
const shouldStripSlash = proxyUrl.pathname.startsWith('/');
|
|
85
|
+
args.request.path = `${proxyUrl.pathname}${args.request.path.slice(shouldStripSlash ? 1 : 0)}`;
|
|
86
|
+
}
|
|
87
|
+
return next(args);
|
|
88
|
+
}, { step: 'finalizeRequest' });
|
|
89
|
+
}
|
|
90
|
+
return result;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
70
93
|
}
|
|
71
94
|
}
|
|
72
95
|
const reporter = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amplifyReporter.js","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"amplifyReporter.js","sourceRoot":"","sources":["../../src/reporters/amplifyReporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { Auth } from '@aws-amplify/auth';
|
|
2
|
+
import { Analytics } from '@aws-amplify/analytics';
|
|
3
|
+
import { Endpoint } from '@aws-sdk/types';
|
|
4
|
+
import { HttpRequest } from '@aws-sdk/protocol-http';
|
|
5
|
+
import { PinpointClient } from '@aws-sdk/client-pinpoint';
|
|
6
|
+
|
|
1
7
|
import {
|
|
2
8
|
IReporter,
|
|
3
9
|
Metadata,
|
|
@@ -7,10 +13,6 @@ import {
|
|
|
7
13
|
ReportUser,
|
|
8
14
|
ServiceInfo,
|
|
9
15
|
} from '../types';
|
|
10
|
-
import { Auth } from '@aws-amplify/auth';
|
|
11
|
-
import { Analytics } from '@aws-amplify/analytics';
|
|
12
|
-
import { PinpointClient } from '@aws-sdk/client-pinpoint';
|
|
13
|
-
import { Endpoint } from '@aws-sdk/types';
|
|
14
16
|
import { logger } from '../logger';
|
|
15
17
|
|
|
16
18
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
@@ -153,16 +155,44 @@ export function amplifyReporter(info: ServiceInfo, config: AmplifyReporterConfig
|
|
|
153
155
|
|
|
154
156
|
if (config.proxyUrl) {
|
|
155
157
|
// No public API for overriding where the Pinpoint client sends events to... 🤮
|
|
156
|
-
|
|
158
|
+
// Pinpoint client isn't available synchronously because it is instantiated when events get sent out,
|
|
159
|
+
// and then reinstantiated whenever the API credentials change. We need to hook `_initClients` to ensure
|
|
160
|
+
// that the Pinpoint client being used is always patched with our custom endpoint.
|
|
161
|
+
const provider = Analytics.getPluggable('AWSPinpoint') as any;
|
|
157
162
|
if (provider) {
|
|
158
163
|
const proxyUrl = new URL(config.proxyUrl);
|
|
159
|
-
provider.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
if (typeof provider._initClients === 'function') {
|
|
165
|
+
const originalInitClients = provider._initClients;
|
|
166
|
+
provider._initClients = async (credentials: unknown) => {
|
|
167
|
+
const result = await originalInitClients._initClients(credentials);
|
|
168
|
+
const pinpointClient = provider.pinpointClient as PinpointClient | undefined;
|
|
169
|
+
|
|
170
|
+
if (pinpointClient) {
|
|
171
|
+
pinpointClient.config.endpoint = (): Promise<Endpoint> =>
|
|
172
|
+
Promise.resolve({
|
|
173
|
+
hostname: proxyUrl.hostname,
|
|
174
|
+
// Passing proxyUrl.pathname here doesn't work; it gets overridden
|
|
175
|
+
path: '/',
|
|
176
|
+
port: undefined,
|
|
177
|
+
protocol: proxyUrl.protocol,
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
pinpointClient.middlewareStack.add(
|
|
181
|
+
(next) => (args) => {
|
|
182
|
+
// Add proxyUrl.pathname to final request url if it was provided
|
|
183
|
+
if (proxyUrl.pathname !== '/' && HttpRequest.isInstance(args.request)) {
|
|
184
|
+
const shouldStripSlash = proxyUrl.pathname.startsWith('/');
|
|
185
|
+
args.request.path = `${proxyUrl.pathname}${args.request.path.slice(shouldStripSlash ? 1 : 0)}`;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return next(args);
|
|
189
|
+
},
|
|
190
|
+
{ step: 'finalizeRequest' },
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
return result;
|
|
194
|
+
};
|
|
195
|
+
}
|
|
166
196
|
}
|
|
167
197
|
}
|
|
168
198
|
|