request-iframe 0.0.3 → 0.0.5
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/QUICKSTART.CN.md +35 -8
- package/QUICKSTART.md +35 -8
- package/README.CN.md +177 -24
- package/README.md +237 -19
- package/library/__tests__/channel.test.ts +16 -4
- package/library/__tests__/coverage-branches.test.ts +356 -0
- package/library/__tests__/debug.test.ts +22 -0
- package/library/__tests__/dispatcher.test.ts +8 -4
- package/library/__tests__/requestIframe.test.ts +1243 -87
- package/library/__tests__/stream.test.ts +92 -16
- package/library/__tests__/utils.test.ts +41 -1
- package/library/api/client.d.ts.map +1 -1
- package/library/api/client.js +1 -0
- package/library/constants/index.d.ts +2 -0
- package/library/constants/index.d.ts.map +1 -1
- package/library/constants/index.js +3 -1
- package/library/constants/messages.d.ts +3 -0
- package/library/constants/messages.d.ts.map +1 -1
- package/library/constants/messages.js +3 -0
- package/library/core/client-server.d.ts +4 -0
- package/library/core/client-server.d.ts.map +1 -1
- package/library/core/client-server.js +45 -22
- package/library/core/client.d.ts +36 -4
- package/library/core/client.d.ts.map +1 -1
- package/library/core/client.js +508 -285
- package/library/core/request.d.ts +3 -1
- package/library/core/request.d.ts.map +1 -1
- package/library/core/request.js +2 -1
- package/library/core/response.d.ts +26 -4
- package/library/core/response.d.ts.map +1 -1
- package/library/core/response.js +192 -112
- package/library/core/server.d.ts +13 -0
- package/library/core/server.d.ts.map +1 -1
- package/library/core/server.js +221 -6
- package/library/index.d.ts +2 -1
- package/library/index.d.ts.map +1 -1
- package/library/index.js +39 -3
- package/library/message/channel.d.ts +2 -2
- package/library/message/channel.d.ts.map +1 -1
- package/library/message/channel.js +5 -1
- package/library/message/dispatcher.d.ts +2 -2
- package/library/message/dispatcher.d.ts.map +1 -1
- package/library/message/dispatcher.js +6 -5
- package/library/stream/index.d.ts +11 -1
- package/library/stream/index.d.ts.map +1 -1
- package/library/stream/index.js +21 -3
- package/library/stream/types.d.ts +2 -2
- package/library/stream/types.d.ts.map +1 -1
- package/library/stream/writable-stream.d.ts +1 -1
- package/library/stream/writable-stream.d.ts.map +1 -1
- package/library/stream/writable-stream.js +87 -47
- package/library/types/index.d.ts +29 -5
- package/library/types/index.d.ts.map +1 -1
- package/library/utils/debug.d.ts.map +1 -1
- package/library/utils/debug.js +6 -2
- package/library/utils/error.d.ts +21 -0
- package/library/utils/error.d.ts.map +1 -0
- package/library/utils/error.js +34 -0
- package/library/utils/index.d.ts +21 -0
- package/library/utils/index.d.ts.map +1 -1
- package/library/utils/index.js +141 -2
- package/library/utils/path-match.d.ts +16 -0
- package/library/utils/path-match.d.ts.map +1 -1
- package/library/utils/path-match.js +65 -0
- package/package.json +2 -1
- package/react/library/__tests__/index.test.tsx +44 -22
- package/react/library/index.d.ts.map +1 -1
- package/react/library/index.js +81 -23
- package/react/package.json +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stream/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,qCAAqC;IACrC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IAChD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACpF,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACpF,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stream/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export declare class IframeWritableStream implements IIframeWritableStream {
|
|
|
22
22
|
*/
|
|
23
23
|
_bind(context: StreamBindContext): void;
|
|
24
24
|
/**
|
|
25
|
-
* Send message to client
|
|
25
|
+
* Send message (to client when server-side stream, to server when client-side stream)
|
|
26
26
|
*/
|
|
27
27
|
private sendMessage;
|
|
28
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writable-stream.d.ts","sourceRoot":"","sources":["../../src/stream/writable-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAWjB;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;gBAEpB,OAAO,GAAE,qBAA0B;IAUtD,uBAAuB;IACvB,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAI9C;;OAEG;IACH,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"writable-stream.d.ts","sourceRoot":"","sources":["../../src/stream/writable-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAWjB;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;gBAEpB,OAAO,GAAE,qBAA0B;IAUtD,uBAAuB;IACvB,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAI9C;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCnC;;OAEG;YACW,kBAAkB;IAkChC;;OAEG;YACW,cAAc;IAyB5B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IAIpC;;OAEG;IACH,OAAO,CAAC,GAAG;IAOX;;OAEG;IACH,OAAO,CAAC,KAAK;IASb;;OAEG;IACI,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAerC"}
|
|
@@ -63,28 +63,33 @@ class IframeWritableStream {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
* Send message to client
|
|
66
|
+
* Send message (to client when server-side stream, to server when client-side stream)
|
|
67
67
|
*/
|
|
68
68
|
sendMessage(type, data) {
|
|
69
|
+
var _this$context$serverI;
|
|
69
70
|
if (!this.context) {
|
|
70
71
|
throw new Error(_constants.Messages.STREAM_NOT_BOUND);
|
|
71
72
|
}
|
|
73
|
+
var isClientStream = this.context.clientId !== undefined && this.context.serverId === undefined;
|
|
74
|
+
var role = isClientStream ? _constants.MessageRole.CLIENT : _constants.MessageRole.SERVER;
|
|
75
|
+
var creatorId = (_this$context$serverI = this.context.serverId) !== null && _this$context$serverI !== void 0 ? _this$context$serverI : this.context.clientId;
|
|
72
76
|
var message = (0, _utils.createPostMessage)(type, this.context.requestId, {
|
|
73
77
|
secretKey: this.context.secretKey,
|
|
74
78
|
body: _objectSpread({
|
|
75
79
|
streamId: this.streamId
|
|
76
80
|
}, data),
|
|
77
|
-
role
|
|
78
|
-
creatorId
|
|
81
|
+
role,
|
|
82
|
+
creatorId,
|
|
79
83
|
targetId: this.context.targetId
|
|
80
84
|
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
var ok = this.context.channel.send(this.context.targetWindow, message, this.context.targetOrigin);
|
|
86
|
+
if (!ok) {
|
|
87
|
+
this._state = _constants.StreamState.CANCELLED;
|
|
88
|
+
// For most stream messages, if we cannot send, treat as a hard cancellation signal
|
|
89
|
+
// so callers can stop further processing immediately.
|
|
90
|
+
throw new Error((0, _constants.formatMessage)(_constants.Messages.STREAM_CANCELLED, 'Target window closed'));
|
|
87
91
|
}
|
|
92
|
+
return true;
|
|
88
93
|
}
|
|
89
94
|
|
|
90
95
|
/**
|
|
@@ -142,13 +147,19 @@ class IframeWritableStream {
|
|
|
142
147
|
// No data source, end directly
|
|
143
148
|
_this.end();
|
|
144
149
|
case 8:
|
|
145
|
-
_context.next =
|
|
150
|
+
_context.next = 11;
|
|
146
151
|
break;
|
|
147
152
|
case 9:
|
|
148
153
|
_context.prev = 9;
|
|
149
154
|
_t = _context["catch"](3);
|
|
150
|
-
_this.
|
|
155
|
+
if (!(_this._state === _constants.StreamState.CANCELLED)) {
|
|
156
|
+
_context.next = 10;
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
throw _t;
|
|
151
160
|
case 10:
|
|
161
|
+
_this.error(_t.message || String(_t));
|
|
162
|
+
case 11:
|
|
152
163
|
case "end":
|
|
153
164
|
return _context.stop();
|
|
154
165
|
}
|
|
@@ -162,7 +173,7 @@ class IframeWritableStream {
|
|
|
162
173
|
streamFromIterator() {
|
|
163
174
|
var _this2 = this;
|
|
164
175
|
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
165
|
-
var gen, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, _t2, _t3;
|
|
176
|
+
var gen, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, _t2, _t3, _t4;
|
|
166
177
|
return _regenerator.default.wrap(function (_context2) {
|
|
167
178
|
while (1) switch (_context2.prev = _context2.next) {
|
|
168
179
|
case 0:
|
|
@@ -183,7 +194,7 @@ class IframeWritableStream {
|
|
|
183
194
|
return _iterator.next();
|
|
184
195
|
case 5:
|
|
185
196
|
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
|
186
|
-
_context2.next =
|
|
197
|
+
_context2.next = 10;
|
|
187
198
|
break;
|
|
188
199
|
}
|
|
189
200
|
chunk = _step.value;
|
|
@@ -191,58 +202,77 @@ class IframeWritableStream {
|
|
|
191
202
|
_context2.next = 6;
|
|
192
203
|
break;
|
|
193
204
|
}
|
|
194
|
-
return _context2.abrupt("continue",
|
|
205
|
+
return _context2.abrupt("continue", 10);
|
|
195
206
|
case 6:
|
|
207
|
+
_context2.prev = 6;
|
|
196
208
|
_this2.sendData(chunk);
|
|
209
|
+
_context2.next = 9;
|
|
210
|
+
break;
|
|
197
211
|
case 7:
|
|
212
|
+
_context2.prev = 7;
|
|
213
|
+
_t2 = _context2["catch"](6);
|
|
214
|
+
if (!(_this2._state === _constants.StreamState.CANCELLED)) {
|
|
215
|
+
_context2.next = 8;
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
throw _t2;
|
|
219
|
+
case 8:
|
|
220
|
+
throw _t2;
|
|
221
|
+
case 9:
|
|
198
222
|
_iteratorAbruptCompletion = false;
|
|
199
223
|
_context2.next = 4;
|
|
200
224
|
break;
|
|
201
|
-
case 8:
|
|
202
|
-
_context2.next = 10;
|
|
203
|
-
break;
|
|
204
|
-
case 9:
|
|
205
|
-
_context2.prev = 9;
|
|
206
|
-
_t2 = _context2["catch"](3);
|
|
207
|
-
_didIteratorError = true;
|
|
208
|
-
_iteratorError = _t2;
|
|
209
225
|
case 10:
|
|
210
|
-
_context2.
|
|
226
|
+
_context2.next = 12;
|
|
227
|
+
break;
|
|
228
|
+
case 11:
|
|
211
229
|
_context2.prev = 11;
|
|
230
|
+
_t3 = _context2["catch"](3);
|
|
231
|
+
_didIteratorError = true;
|
|
232
|
+
_iteratorError = _t3;
|
|
233
|
+
case 12:
|
|
234
|
+
_context2.prev = 12;
|
|
235
|
+
_context2.prev = 13;
|
|
212
236
|
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
213
|
-
_context2.next =
|
|
237
|
+
_context2.next = 14;
|
|
214
238
|
break;
|
|
215
239
|
}
|
|
216
|
-
_context2.next =
|
|
240
|
+
_context2.next = 14;
|
|
217
241
|
return _iterator.return();
|
|
218
|
-
case
|
|
219
|
-
_context2.prev =
|
|
242
|
+
case 14:
|
|
243
|
+
_context2.prev = 14;
|
|
220
244
|
if (!_didIteratorError) {
|
|
221
|
-
_context2.next =
|
|
245
|
+
_context2.next = 15;
|
|
222
246
|
break;
|
|
223
247
|
}
|
|
224
248
|
throw _iteratorError;
|
|
225
|
-
case 13:
|
|
226
|
-
return _context2.finish(12);
|
|
227
|
-
case 14:
|
|
228
|
-
return _context2.finish(10);
|
|
229
249
|
case 15:
|
|
250
|
+
return _context2.finish(14);
|
|
251
|
+
case 16:
|
|
252
|
+
return _context2.finish(12);
|
|
253
|
+
case 17:
|
|
230
254
|
if (_this2._state === _constants.StreamState.STREAMING) {
|
|
231
255
|
_this2.end();
|
|
232
256
|
}
|
|
233
|
-
_context2.next =
|
|
257
|
+
_context2.next = 20;
|
|
234
258
|
break;
|
|
235
|
-
case
|
|
236
|
-
_context2.prev =
|
|
237
|
-
|
|
259
|
+
case 18:
|
|
260
|
+
_context2.prev = 18;
|
|
261
|
+
_t4 = _context2["catch"](2);
|
|
262
|
+
if (!(_this2._state === _constants.StreamState.CANCELLED)) {
|
|
263
|
+
_context2.next = 19;
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
throw _t4;
|
|
267
|
+
case 19:
|
|
238
268
|
if (_this2._state === _constants.StreamState.STREAMING) {
|
|
239
|
-
_this2.error(
|
|
269
|
+
_this2.error(_t4.message || String(_t4));
|
|
240
270
|
}
|
|
241
|
-
case
|
|
271
|
+
case 20:
|
|
242
272
|
case "end":
|
|
243
273
|
return _context2.stop();
|
|
244
274
|
}
|
|
245
|
-
}, _callee2, null, [[2,
|
|
275
|
+
}, _callee2, null, [[2, 18], [3, 11, 12, 17], [6, 7], [13,, 14, 16]]);
|
|
246
276
|
}))();
|
|
247
277
|
}
|
|
248
278
|
|
|
@@ -252,7 +282,7 @@ class IframeWritableStream {
|
|
|
252
282
|
streamFromNext() {
|
|
253
283
|
var _this3 = this;
|
|
254
284
|
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
255
|
-
var result,
|
|
285
|
+
var result, _t5;
|
|
256
286
|
return _regenerator.default.wrap(function (_context3) {
|
|
257
287
|
while (1) switch (_context3.prev = _context3.next) {
|
|
258
288
|
case 0:
|
|
@@ -284,15 +314,21 @@ class IframeWritableStream {
|
|
|
284
314
|
_context3.next = 2;
|
|
285
315
|
break;
|
|
286
316
|
case 5:
|
|
287
|
-
_context3.next =
|
|
317
|
+
_context3.next = 8;
|
|
288
318
|
break;
|
|
289
319
|
case 6:
|
|
290
320
|
_context3.prev = 6;
|
|
291
|
-
|
|
292
|
-
if (_this3._state === _constants.StreamState.
|
|
293
|
-
|
|
321
|
+
_t5 = _context3["catch"](1);
|
|
322
|
+
if (!(_this3._state === _constants.StreamState.CANCELLED)) {
|
|
323
|
+
_context3.next = 7;
|
|
324
|
+
break;
|
|
294
325
|
}
|
|
326
|
+
throw _t5;
|
|
295
327
|
case 7:
|
|
328
|
+
if (_this3._state === _constants.StreamState.STREAMING) {
|
|
329
|
+
_this3.error(_t5.message || String(_t5));
|
|
330
|
+
}
|
|
331
|
+
case 8:
|
|
296
332
|
case "end":
|
|
297
333
|
return _context3.stop();
|
|
298
334
|
}
|
|
@@ -344,9 +380,13 @@ class IframeWritableStream {
|
|
|
344
380
|
if (this._state !== _constants.StreamState.PENDING && this._state !== _constants.StreamState.STREAMING) return;
|
|
345
381
|
this._state = _constants.StreamState.CANCELLED;
|
|
346
382
|
if (this.context) {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
383
|
+
try {
|
|
384
|
+
this.sendMessage(_constants.MessageType.STREAM_CANCEL, {
|
|
385
|
+
reason
|
|
386
|
+
});
|
|
387
|
+
} catch (_unused) {
|
|
388
|
+
// ignore send failures on cancel
|
|
389
|
+
}
|
|
350
390
|
}
|
|
351
391
|
}
|
|
352
392
|
}
|
package/library/types/index.d.ts
CHANGED
|
@@ -10,6 +10,12 @@ export interface RequestDefaults {
|
|
|
10
10
|
timeout?: number;
|
|
11
11
|
/** Async request timeout (milliseconds), timeout after the server indicates it's an async task, default 120000 */
|
|
12
12
|
asyncTimeout?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Whether to directly return response.data instead of the full Response object.
|
|
15
|
+
* If true, send() will return Promise<T> instead of Promise<Response<T>>.
|
|
16
|
+
* Default is false.
|
|
17
|
+
*/
|
|
18
|
+
returnData?: boolean;
|
|
13
19
|
}
|
|
14
20
|
/**
|
|
15
21
|
* Headers value type (supports static value or dynamic function)
|
|
@@ -45,8 +51,8 @@ export interface RequestOptions extends RequestDefaults {
|
|
|
45
51
|
export interface RequestConfig extends RequestOptions {
|
|
46
52
|
/** Interaction event ID (equivalent to path) */
|
|
47
53
|
path: string;
|
|
48
|
-
/** Request body */
|
|
49
|
-
body?:
|
|
54
|
+
/** Request body (plain object, File, Blob, or stream for sendStream) */
|
|
55
|
+
body?: any;
|
|
50
56
|
/** Request headers */
|
|
51
57
|
headers?: HeadersConfig;
|
|
52
58
|
/** Request cookies */
|
|
@@ -70,7 +76,7 @@ export interface Response<T = any> {
|
|
|
70
76
|
stream?: import('../stream').IIframeReadableStream<T>;
|
|
71
77
|
}
|
|
72
78
|
/**
|
|
73
|
-
* Error response
|
|
79
|
+
* Error response interface
|
|
74
80
|
*/
|
|
75
81
|
export interface ErrorResponse {
|
|
76
82
|
/** Error message */
|
|
@@ -186,6 +192,8 @@ export interface PostMessageData {
|
|
|
186
192
|
* Used to ensure messages are routed to the correct instance and avoid message confusion
|
|
187
193
|
*/
|
|
188
194
|
targetId?: string;
|
|
195
|
+
/** Stream ID (when request body is a stream, client sends stream; server receives stream_start next) */
|
|
196
|
+
streamId?: string;
|
|
189
197
|
}
|
|
190
198
|
/**
|
|
191
199
|
* Server Request object (similar to express)
|
|
@@ -193,12 +201,16 @@ export interface PostMessageData {
|
|
|
193
201
|
export interface ServerRequest {
|
|
194
202
|
/** Request body */
|
|
195
203
|
body: any;
|
|
204
|
+
/** Request stream (when client sent via sendStream) */
|
|
205
|
+
stream?: import('../stream').IIframeReadableStream;
|
|
196
206
|
/** Request headers */
|
|
197
207
|
headers: Record<string, string>;
|
|
198
208
|
/** Request cookies */
|
|
199
209
|
cookies: Record<string, string>;
|
|
200
210
|
/** Request path */
|
|
201
211
|
path: string;
|
|
212
|
+
/** Path parameters extracted from route pattern (e.g., { id: '123' } for '/api/users/:id' and '/api/users/123') */
|
|
213
|
+
params: Record<string, string>;
|
|
202
214
|
/** Request ID */
|
|
203
215
|
requestId: string;
|
|
204
216
|
/** Sender origin */
|
|
@@ -315,10 +327,14 @@ export type ServerEventName = 'request' | 'ack' | 'async' | 'response' | 'error'
|
|
|
315
327
|
* Client interface
|
|
316
328
|
*/
|
|
317
329
|
export interface RequestIframeClient {
|
|
330
|
+
/** Target window */
|
|
331
|
+
readonly targetWindow: Window;
|
|
318
332
|
/** Unique instance ID */
|
|
319
333
|
readonly id: string;
|
|
320
334
|
/** Whether message handling is enabled */
|
|
321
335
|
readonly isOpen: boolean;
|
|
336
|
+
/** Check if target window is still available (not closed/removed) */
|
|
337
|
+
isAvailable(): boolean;
|
|
322
338
|
/** Enable message handling (register message handler) */
|
|
323
339
|
open(): void;
|
|
324
340
|
/** Disable message handling (unregister message handler, but don't release resources) */
|
|
@@ -328,8 +344,16 @@ export interface RequestIframeClient {
|
|
|
328
344
|
request: import('../interceptors').RequestInterceptorManager;
|
|
329
345
|
response: import('../interceptors').ResponseInterceptorManager;
|
|
330
346
|
};
|
|
331
|
-
/** Send request */
|
|
332
|
-
send<T = any>(path: string, body?:
|
|
347
|
+
/** Send request (body can be plain data, File, Blob, or stream; auto-dispatches to sendFile/sendStream when applicable) */
|
|
348
|
+
send<T = any>(path: string, body?: any, options?: RequestOptions): Promise<Response<T> | T>;
|
|
349
|
+
/** Send file as request body (stream only; server receives stream or auto-resolved File/Blob via autoResolve) */
|
|
350
|
+
sendFile<T = any>(path: string, content: string | Blob | File, options?: RequestOptions & {
|
|
351
|
+
mimeType?: string;
|
|
352
|
+
fileName?: string;
|
|
353
|
+
autoResolve?: boolean;
|
|
354
|
+
}): Promise<Response<T> | T>;
|
|
355
|
+
/** Send stream as request body (server receives readable stream) */
|
|
356
|
+
sendStream<T = any>(path: string, stream: import('../stream').IframeWritableStream, options?: RequestOptions): Promise<Response<T> | T>;
|
|
333
357
|
/** Check if server is reachable */
|
|
334
358
|
isConnect(): Promise<boolean>;
|
|
335
359
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gIAAgI;IAChI,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4GAA4G;IAC5G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kHAAkH;IAClH,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAsDpE;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAsE9E;AA8GD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CA+H3E"}
|
package/library/utils/debug.js
CHANGED
|
@@ -26,14 +26,18 @@ var DEBUG_PREFIX = '[request-iframe]';
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Format log output
|
|
29
|
+
* - Prefix: bold
|
|
30
|
+
* - info: message text in blue
|
|
29
31
|
*/
|
|
30
32
|
function log(level, message, data) {
|
|
31
33
|
var timestamp = new Date().toISOString();
|
|
32
34
|
var prefix = `${DEBUG_PREFIX} [${timestamp}] [${level.toUpperCase()}]`;
|
|
35
|
+
var prefixStyle = 'font-weight:bold';
|
|
36
|
+
var messageStyle = level === 'info' ? 'color: #1976d2' : '';
|
|
33
37
|
if (data !== undefined) {
|
|
34
|
-
console[level](
|
|
38
|
+
console[level](`%c${prefix}%c ${message}`, prefixStyle, messageStyle, data);
|
|
35
39
|
} else {
|
|
36
|
-
console[level](
|
|
40
|
+
console[level](`%c${prefix}%c ${message}`, prefixStyle, messageStyle);
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ErrorResponse } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Custom Error class for request-iframe errors
|
|
4
|
+
* Extends native Error with additional error response fields
|
|
5
|
+
*/
|
|
6
|
+
export declare class RequestIframeError extends Error implements ErrorResponse {
|
|
7
|
+
/** Error code */
|
|
8
|
+
readonly code?: string;
|
|
9
|
+
/** Request configuration */
|
|
10
|
+
readonly config?: import('../types').RequestConfig;
|
|
11
|
+
/** Response data (if available) */
|
|
12
|
+
readonly response?: {
|
|
13
|
+
data: any;
|
|
14
|
+
status: number;
|
|
15
|
+
statusText: string;
|
|
16
|
+
};
|
|
17
|
+
/** Request ID */
|
|
18
|
+
readonly requestId?: string;
|
|
19
|
+
constructor(error: ErrorResponse);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAM,YAAW,aAAa;IACpE,iBAAiB;IACjB,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B;IAC5B,SAAgB,MAAM,CAAC,EAAE,OAAO,UAAU,EAAE,aAAa,CAAC;IAC1D,mCAAmC;IACnC,SAAgB,QAAQ,CAAC,EAAE;QACzB,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,iBAAiB;IACjB,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,KAAK,EAAE,aAAa;CAajC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RequestIframeError = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Custom Error class for request-iframe errors
|
|
9
|
+
* Extends native Error with additional error response fields
|
|
10
|
+
*/
|
|
11
|
+
class RequestIframeError extends Error {
|
|
12
|
+
/** Error code */
|
|
13
|
+
|
|
14
|
+
/** Request configuration */
|
|
15
|
+
|
|
16
|
+
/** Response data (if available) */
|
|
17
|
+
|
|
18
|
+
/** Request ID */
|
|
19
|
+
|
|
20
|
+
constructor(error) {
|
|
21
|
+
super(error.message);
|
|
22
|
+
this.name = 'RequestIframeError';
|
|
23
|
+
this.code = error.code;
|
|
24
|
+
this.config = error.config;
|
|
25
|
+
this.response = error.response;
|
|
26
|
+
this.requestId = error.requestId;
|
|
27
|
+
|
|
28
|
+
// Maintain proper stack trace for where our error was thrown (only available on V8)
|
|
29
|
+
if (Error.captureStackTrace) {
|
|
30
|
+
Error.captureStackTrace(this, RequestIframeError);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.RequestIframeError = RequestIframeError;
|
package/library/utils/index.d.ts
CHANGED
|
@@ -11,8 +11,29 @@ export declare function generateInstanceId(): string;
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function getIframeTargetOrigin(iframe: HTMLIFrameElement): string;
|
|
13
13
|
export declare function isPromise<T>(value: any): value is Promise<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Check if target window is still available (not closed/removed)
|
|
16
|
+
* @param targetWindow Target window to check
|
|
17
|
+
* @returns true if window is available, false otherwise
|
|
18
|
+
*/
|
|
19
|
+
export declare function isWindowAvailable(targetWindow: Window | null | undefined): boolean;
|
|
14
20
|
export { createPostMessage, isValidPostMessage, validatePostMessage, validateProtocolVersion, isRequestIframeMessage, getProtocolVersion, isCompatibleVersion } from './protocol';
|
|
15
21
|
export * from './cache';
|
|
16
22
|
export * from './path-match';
|
|
17
23
|
export * from './cookie';
|
|
24
|
+
export { RequestIframeError } from './error';
|
|
25
|
+
/**
|
|
26
|
+
* Detect Content-Type based on data type
|
|
27
|
+
* @param data The data to detect Content-Type for
|
|
28
|
+
* @param options Options for detection
|
|
29
|
+
* @param options.checkStream Whether to check for IframeWritableStream (default: false)
|
|
30
|
+
* @param options.isIframeWritableStream Optional function to check if data is a stream (required if checkStream is true)
|
|
31
|
+
* @returns The detected Content-Type, or null if Content-Type should not be auto-set
|
|
32
|
+
*/
|
|
33
|
+
export declare function detectContentType(data: any, options?: {
|
|
34
|
+
checkStream?: boolean;
|
|
35
|
+
isIframeWritableStream?: (value: any) => boolean;
|
|
36
|
+
}): string | null;
|
|
37
|
+
/** Convert Blob to base64 string */
|
|
38
|
+
export declare function blobToBase64(blob: Blob): Promise<string>;
|
|
18
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CASvE;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAE5D;AAED,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CASvE;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAuBlF;AAED,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAA;CAAE,GACpF,MAAM,GAAG,IAAI,CAkEf;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAWxD"}
|