@spine-event-engine/auth 2.0.0-snapshot.23 → 2.0.0-snapshot.24
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 +6 -0
- package/REFERENCE.md +21 -6
- package/dist/gateway/dynamic-unary-forwarder.d.ts +26 -1
- package/dist/gateway/dynamic-unary-forwarder.d.ts.map +1 -1
- package/dist/gateway/dynamic-unary-forwarder.js +47 -16
- package/dist/gateway/dynamic-unary-forwarder.js.map +1 -1
- package/dist/gateway/index.d.ts +4 -1
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +74 -9
- package/dist/gateway/index.js.map +1 -1
- package/dist/index.d.ts +13 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js +93 -2
- package/dist/native/index.js.map +1 -1
- package/dist/subscriptions/index.d.ts +3 -1
- package/dist/subscriptions/index.d.ts.map +1 -1
- package/dist/subscriptions/index.js +139 -5
- package/dist/subscriptions/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/dist/native/index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
|
-
import { clone, create, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
14
|
+
import { clone, create, equals, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
15
15
|
import { Code, ConnectError, createClient, } from "@connectrpc/connect";
|
|
16
16
|
import { CommandService, QueryService, SubscriptionSchema, SubscriptionService, SubscriptionUpdateSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
17
17
|
import { AuthenticationService } from "@spine-event-engine/proto/auth";
|
|
@@ -166,6 +166,12 @@ export class SubscriptionUpdateRelay {
|
|
|
166
166
|
* Creates completed native-relay rejection values.
|
|
167
167
|
*/
|
|
168
168
|
const NativeRelayValues = Object.freeze({
|
|
169
|
+
/**
|
|
170
|
+
* Returns a rejected update relay promise.
|
|
171
|
+
*
|
|
172
|
+
* @param reason The original failure reason.
|
|
173
|
+
* @returns A rejected relay promise.
|
|
174
|
+
*/
|
|
169
175
|
rejectedRelayPromise(reason) {
|
|
170
176
|
return Promise.resolve().then(() => {
|
|
171
177
|
throw reason;
|
|
@@ -216,11 +222,19 @@ export class NativeSubscriptionCreator {
|
|
|
216
222
|
*/
|
|
217
223
|
async activate(request, signal) {
|
|
218
224
|
const subscription = fromBinary(SubscriptionSchema, request.wire.bytes);
|
|
219
|
-
for await (const update of createClient(SubscriptionService, this.#transport).activate(subscription, { signal }))
|
|
225
|
+
for await (const update of createClient(SubscriptionService, this.#transport).activate(subscription, { signal })) {
|
|
226
|
+
const topic = subscription.topic;
|
|
227
|
+
const updateTopic = update.subscription?.topic;
|
|
228
|
+
if (update.subscription?.id?.value !== subscription.id?.value ||
|
|
229
|
+
topic === undefined ||
|
|
230
|
+
updateTopic === undefined ||
|
|
231
|
+
!equals(TopicSchema, updateTopic, topic))
|
|
232
|
+
throw new Error("Backend child update does not match its subscription.");
|
|
220
233
|
await request.updates({
|
|
221
234
|
kind: "subscription-update",
|
|
222
235
|
bytes: toBinary(SubscriptionUpdateSchema, update),
|
|
223
236
|
});
|
|
237
|
+
}
|
|
224
238
|
}
|
|
225
239
|
/**
|
|
226
240
|
* Cancels the native subscription represented by the canonical definition.
|
|
@@ -285,6 +299,14 @@ export function createNativeGatewayServices(options) {
|
|
|
285
299
|
* Converts native Connect gateway inputs, responses, and errors.
|
|
286
300
|
*/
|
|
287
301
|
const NativeGatewayValues = Object.freeze({
|
|
302
|
+
/**
|
|
303
|
+
* Resolves authenticated context for a public request.
|
|
304
|
+
*
|
|
305
|
+
* @param options Configuration for this transport operation.
|
|
306
|
+
* @param request The admitted or incoming request.
|
|
307
|
+
* @param context The authenticated or RPC context.
|
|
308
|
+
* @returns The trusted actor context.
|
|
309
|
+
*/
|
|
288
310
|
async resolveContext(options, request, context) {
|
|
289
311
|
const result = await options.unary.handle({
|
|
290
312
|
service: "spine.auth.AuthenticationService",
|
|
@@ -300,6 +322,14 @@ const NativeGatewayValues = Object.freeze({
|
|
|
300
322
|
throw new ConnectError("gateway forwarded ResolveContext unexpectedly", Code.Internal);
|
|
301
323
|
return fromBinary(AuthenticationService.method.resolveContext.output, result.value);
|
|
302
324
|
},
|
|
325
|
+
/**
|
|
326
|
+
* Maps a forwarded Command result to the public response.
|
|
327
|
+
*
|
|
328
|
+
* @param options Configuration for this transport operation.
|
|
329
|
+
* @param request The admitted or incoming request.
|
|
330
|
+
* @param context The authenticated or RPC context.
|
|
331
|
+
* @returns The public Command response.
|
|
332
|
+
*/
|
|
303
333
|
async commandResponse(options, request, context) {
|
|
304
334
|
const result = await options.unary.handle({
|
|
305
335
|
service: "spine.client.CommandService",
|
|
@@ -313,6 +343,14 @@ const NativeGatewayValues = Object.freeze({
|
|
|
313
343
|
throw NativeGatewayValues.unaryError(result);
|
|
314
344
|
return fromBinary(CommandService.method.post.output, result.value);
|
|
315
345
|
},
|
|
346
|
+
/**
|
|
347
|
+
* Maps a forwarded Query result to the public response.
|
|
348
|
+
*
|
|
349
|
+
* @param options Configuration for this transport operation.
|
|
350
|
+
* @param request The admitted or incoming request.
|
|
351
|
+
* @param context The authenticated or RPC context.
|
|
352
|
+
* @returns The public Query response.
|
|
353
|
+
*/
|
|
316
354
|
async queryResponse(options, request, context) {
|
|
317
355
|
const result = await options.unary.handle({
|
|
318
356
|
service: "spine.client.QueryService",
|
|
@@ -326,6 +364,14 @@ const NativeGatewayValues = Object.freeze({
|
|
|
326
364
|
throw NativeGatewayValues.unaryError(result);
|
|
327
365
|
return fromBinary(QueryService.method.read.output, result.value);
|
|
328
366
|
},
|
|
367
|
+
/**
|
|
368
|
+
* Activates the authenticated subscription stream.
|
|
369
|
+
*
|
|
370
|
+
* @param options Configuration for this transport operation.
|
|
371
|
+
* @param request The admitted or incoming request.
|
|
372
|
+
* @param context The authenticated or RPC context.
|
|
373
|
+
* @returns Completion or stream of activation updates.
|
|
374
|
+
*/
|
|
329
375
|
activate(options, request, context) {
|
|
330
376
|
const relay = new SubscriptionUpdateRelay(options.relay);
|
|
331
377
|
const controller = new AbortController();
|
|
@@ -390,8 +436,20 @@ const NativeGatewayValues = Object.freeze({
|
|
|
390
436
|
close(reason, true);
|
|
391
437
|
});
|
|
392
438
|
},
|
|
439
|
+
/**
|
|
440
|
+
* Wraps a relay as an asynchronous update stream.
|
|
441
|
+
*
|
|
442
|
+
* @param relay The bounded update relay.
|
|
443
|
+
* @param onClose Callback invoked when the stream closes.
|
|
444
|
+
* @returns An asynchronous stream of subscription updates.
|
|
445
|
+
*/
|
|
393
446
|
activationStream(relay, onClose) {
|
|
394
447
|
return {
|
|
448
|
+
/**
|
|
449
|
+
* Returns the public subscription update iterator.
|
|
450
|
+
*
|
|
451
|
+
* @returns The public update iterator.
|
|
452
|
+
*/
|
|
395
453
|
[Symbol.asyncIterator]() {
|
|
396
454
|
const iterator = relay[Symbol.asyncIterator]();
|
|
397
455
|
return {
|
|
@@ -408,6 +466,15 @@ const NativeGatewayValues = Object.freeze({
|
|
|
408
466
|
},
|
|
409
467
|
};
|
|
410
468
|
},
|
|
469
|
+
/**
|
|
470
|
+
* Builds a gateway request from the authenticated RPC.
|
|
471
|
+
*
|
|
472
|
+
* @param method The subscription RPC method.
|
|
473
|
+
* @param bytes Serialized subscription request bytes.
|
|
474
|
+
* @param context The authenticated or RPC context.
|
|
475
|
+
* @param requests The authenticated request handler.
|
|
476
|
+
* @returns The gateway request.
|
|
477
|
+
*/
|
|
411
478
|
subscriptionRequest(method, bytes, context, requests) {
|
|
412
479
|
return {
|
|
413
480
|
service: "spine.client.SubscriptionService",
|
|
@@ -419,6 +486,12 @@ const NativeGatewayValues = Object.freeze({
|
|
|
419
486
|
transport: requests.transport(context),
|
|
420
487
|
};
|
|
421
488
|
},
|
|
489
|
+
/**
|
|
490
|
+
* Maps a failed unary forwarding result to a Connect error.
|
|
491
|
+
*
|
|
492
|
+
* @param result The gateway operation result.
|
|
493
|
+
* @returns The unary Connect error.
|
|
494
|
+
*/
|
|
422
495
|
unaryError(result) {
|
|
423
496
|
const code = result.reason === "unauthenticated"
|
|
424
497
|
? Code.Unauthenticated
|
|
@@ -431,6 +504,12 @@ const NativeGatewayValues = Object.freeze({
|
|
|
431
504
|
: Code.InvalidArgument;
|
|
432
505
|
return new ConnectError(`gateway rejected ${result.reason}`, code);
|
|
433
506
|
},
|
|
507
|
+
/**
|
|
508
|
+
* Maps a rejected gateway result to a Connect error.
|
|
509
|
+
*
|
|
510
|
+
* @param result The gateway operation result.
|
|
511
|
+
* @returns The public Connect error.
|
|
512
|
+
*/
|
|
434
513
|
gatewayResultError(result) {
|
|
435
514
|
if (result.kind !== "rejected")
|
|
436
515
|
return new ConnectError("subscription gateway returned an unexpected operation result", Code.Internal);
|
|
@@ -447,6 +526,12 @@ const NativeGatewayValues = Object.freeze({
|
|
|
447
526
|
: Code.InvalidArgument;
|
|
448
527
|
return new ConnectError(`gateway rejected ${result.reason}`, code);
|
|
449
528
|
},
|
|
529
|
+
/**
|
|
530
|
+
* Validates and fills the update relay limits.
|
|
531
|
+
*
|
|
532
|
+
* @param input Caller-supplied limits.
|
|
533
|
+
* @returns Validated relay limits.
|
|
534
|
+
*/
|
|
450
535
|
relayLimits(input) {
|
|
451
536
|
const limits = { ...relayDefaults, ...input };
|
|
452
537
|
for (const limit of Object.values(limits))
|
|
@@ -454,6 +539,12 @@ const NativeGatewayValues = Object.freeze({
|
|
|
454
539
|
throw new RangeError("subscription relay limits must be positive safe integers");
|
|
455
540
|
return limits;
|
|
456
541
|
},
|
|
542
|
+
/**
|
|
543
|
+
* Converts an unknown terminal failure to a Connect error.
|
|
544
|
+
*
|
|
545
|
+
* @param reason The original failure reason.
|
|
546
|
+
* @returns The terminal Connect error.
|
|
547
|
+
*/
|
|
457
548
|
terminalError(reason) {
|
|
458
549
|
return reason instanceof Error
|
|
459
550
|
? reason
|
package/dist/native/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -296,7 +296,9 @@ export interface SubscriptionCreator {
|
|
|
296
296
|
*/
|
|
297
297
|
subscribe(request: PublicSubscriptionWire, signal: SubscriptionAbortSignal): Promise<BackendSubscriptionEnvelope>;
|
|
298
298
|
/**
|
|
299
|
-
* Activates a backend subscription.
|
|
299
|
+
* Activates a backend subscription and validates relayed updates.
|
|
300
|
+
* A custom creator checks every forwarded update's subscription ID and Topic
|
|
301
|
+
* against the Subscription accepted by its backend. The envelope remains opaque.
|
|
300
302
|
* @param request Supplies the copied private backend envelope and update sink.
|
|
301
303
|
* @param signal Cancels the backend operation.
|
|
302
304
|
* @returns Completes after activation ends.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subscriptions/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subscriptions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -294,6 +294,14 @@ export class InMemorySubscriptionBindings {
|
|
|
294
294
|
definition.bytes.fill(0);
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Serializes a logical binding operation behind its current tail.
|
|
299
|
+
*
|
|
300
|
+
* @typeParam T The operation result.
|
|
301
|
+
* @param id The logical subscription identifier.
|
|
302
|
+
* @param operation The operation to serialize.
|
|
303
|
+
* @returns The operation result after preceding work settles.
|
|
304
|
+
*/
|
|
297
305
|
async #coordinate(id, operation) {
|
|
298
306
|
const binding = this.#bindings.get(id);
|
|
299
307
|
if (binding === undefined)
|
|
@@ -327,6 +335,7 @@ export class SubscriptionGateway {
|
|
|
327
335
|
#limits;
|
|
328
336
|
#expiryTimers = new Set();
|
|
329
337
|
#publicPendingTimers = new Map();
|
|
338
|
+
#cancellations = new Map();
|
|
330
339
|
#closed = false;
|
|
331
340
|
/**
|
|
332
341
|
* Creates the subscription gateway.
|
|
@@ -528,8 +537,31 @@ export class SubscriptionGateway {
|
|
|
528
537
|
throw cleanupFailure;
|
|
529
538
|
return outcome;
|
|
530
539
|
}
|
|
531
|
-
|
|
532
|
-
this.#
|
|
540
|
+
#cancel(id, context, nowMs) {
|
|
541
|
+
const active = this.#cancellations.get(id) ?? [];
|
|
542
|
+
const matching = active.find((entry) => SubscriptionGatewayValues.contextsEqual(entry.context, context));
|
|
543
|
+
if (matching !== undefined)
|
|
544
|
+
return matching.promise;
|
|
545
|
+
const promise = this.#cancelOnce(id, context, nowMs);
|
|
546
|
+
const entry = { context: clone(ActorContextSchema, context), promise };
|
|
547
|
+
active.push(entry);
|
|
548
|
+
this.#cancellations.set(id, active);
|
|
549
|
+
// spine-log-boundary: auth.subscription_cancel_finally_observer
|
|
550
|
+
void promise
|
|
551
|
+
.finally(() => {
|
|
552
|
+
const current = this.#cancellations.get(id);
|
|
553
|
+
if (current === undefined)
|
|
554
|
+
return;
|
|
555
|
+
const remaining = current.filter((candidate) => candidate !== entry);
|
|
556
|
+
if (remaining.length === 0)
|
|
557
|
+
this.#cancellations.delete(id);
|
|
558
|
+
else
|
|
559
|
+
this.#cancellations.set(id, remaining);
|
|
560
|
+
})
|
|
561
|
+
.catch(() => undefined);
|
|
562
|
+
return promise;
|
|
563
|
+
}
|
|
564
|
+
async #cancelOnce(id, context, nowMs) {
|
|
533
565
|
try {
|
|
534
566
|
const result = await this.#options.bindings.cancel({
|
|
535
567
|
id,
|
|
@@ -537,9 +569,10 @@ export class SubscriptionGateway {
|
|
|
537
569
|
nowMs,
|
|
538
570
|
onDefinition: (definition, effectSignal) => this.#forwardCancel(definition, effectSignal),
|
|
539
571
|
});
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
572
|
+
if (result.kind === "denied")
|
|
573
|
+
return SubscriptionGatewayValues.rejected("denied");
|
|
574
|
+
this.#clearPublicPending(id);
|
|
575
|
+
return { kind: "cancelled" };
|
|
543
576
|
}
|
|
544
577
|
catch (error) {
|
|
545
578
|
if (error instanceof Error && error.message === "binding-busy")
|
|
@@ -665,13 +698,32 @@ export class SubscriptionGateway {
|
|
|
665
698
|
*/
|
|
666
699
|
const SubscriptionGatewayValues = Object.freeze({
|
|
667
700
|
publicPrincipal: Object.freeze({ id: "spine-gateway-public" }),
|
|
701
|
+
/**
|
|
702
|
+
* Stops delivery of an update from a closed or rejected stream.
|
|
703
|
+
*
|
|
704
|
+
* @param update The update being delivered.
|
|
705
|
+
* @returns Completion after discarding the update.
|
|
706
|
+
*/
|
|
668
707
|
discardUpdate(update) {
|
|
669
708
|
update.bytes.fill(0);
|
|
670
709
|
return Promise.resolve();
|
|
671
710
|
},
|
|
711
|
+
/**
|
|
712
|
+
* Copies the public subscription wire bytes.
|
|
713
|
+
*
|
|
714
|
+
* @param wire Serialized public subscription bytes.
|
|
715
|
+
* @returns Copied public subscription bytes.
|
|
716
|
+
*/
|
|
672
717
|
copyPublic(wire) {
|
|
673
718
|
return { kind: wire.kind, bytes: wire.bytes.slice() };
|
|
674
719
|
},
|
|
720
|
+
/**
|
|
721
|
+
* Builds a successful subscription response.
|
|
722
|
+
*
|
|
723
|
+
* @param id The logical subscription identifier.
|
|
724
|
+
* @param topicBytes Serialized subscription Topic.
|
|
725
|
+
* @returns A successful subscription response.
|
|
726
|
+
*/
|
|
675
727
|
subscribed(id, topicBytes) {
|
|
676
728
|
return {
|
|
677
729
|
kind: "subscribed",
|
|
@@ -684,10 +736,24 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
684
736
|
},
|
|
685
737
|
};
|
|
686
738
|
},
|
|
739
|
+
/**
|
|
740
|
+
* Decodes and validates a typed incoming request.
|
|
741
|
+
*
|
|
742
|
+
* @param kind Expected request kind.
|
|
743
|
+
* @param bytes Serialized subscription request bytes.
|
|
744
|
+
* @param transport Safe request transport metadata.
|
|
745
|
+
* @returns The decoded request when its kind matches.
|
|
746
|
+
*/
|
|
687
747
|
decode(kind, bytes, transport) {
|
|
688
748
|
const result = IncomingRequests.decode({ kind, value: bytes.slice(), transport });
|
|
689
749
|
return result?.kind === kind ? result : undefined;
|
|
690
750
|
},
|
|
751
|
+
/**
|
|
752
|
+
* Builds actor context from resolved credentials.
|
|
753
|
+
*
|
|
754
|
+
* @param context The authenticated or RPC context.
|
|
755
|
+
* @returns The trusted actor context.
|
|
756
|
+
*/
|
|
691
757
|
trustedContext(context) {
|
|
692
758
|
return create(ActorContextSchema, {
|
|
693
759
|
actor: context.actor,
|
|
@@ -697,9 +763,23 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
697
763
|
...(context.language === undefined ? {} : { language: context.language }),
|
|
698
764
|
});
|
|
699
765
|
},
|
|
766
|
+
/**
|
|
767
|
+
* Checks whether requested context matches trusted context.
|
|
768
|
+
*
|
|
769
|
+
* @param requested Context supplied by the caller.
|
|
770
|
+
* @param trusted Context resolved by authentication.
|
|
771
|
+
* @returns Whether requested context matches authentication.
|
|
772
|
+
*/
|
|
700
773
|
matches(requested, trusted) {
|
|
701
774
|
return SubscriptionGatewayValues.contextsEqual(requested, trusted);
|
|
702
775
|
},
|
|
776
|
+
/**
|
|
777
|
+
* Compares authenticated actor and tenant identities.
|
|
778
|
+
*
|
|
779
|
+
* @param left First context to compare.
|
|
780
|
+
* @param right Second context to compare.
|
|
781
|
+
* @returns Whether the actor and tenant identities match.
|
|
782
|
+
*/
|
|
703
783
|
contextsEqual(left, right) {
|
|
704
784
|
if (left.actor?.value !== right.actor?.value)
|
|
705
785
|
return false;
|
|
@@ -709,6 +789,13 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
709
789
|
const second = toBinary(TenantIdSchema, right.tenantId);
|
|
710
790
|
return (first.byteLength === second.byteLength && first.every((byte, index) => byte === second[index]));
|
|
711
791
|
},
|
|
792
|
+
/**
|
|
793
|
+
* Transforms subscription context with authenticated values.
|
|
794
|
+
*
|
|
795
|
+
* @param incoming Decoded subscription request.
|
|
796
|
+
* @param context The authenticated or RPC context.
|
|
797
|
+
* @returns Serialized subscription with trusted context.
|
|
798
|
+
*/
|
|
712
799
|
rewrite(incoming, context) {
|
|
713
800
|
if (incoming.kind === "subscribe") {
|
|
714
801
|
const topic = clone(TopicSchema, incoming.topic);
|
|
@@ -723,6 +810,12 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
723
810
|
subscription.topic = topic;
|
|
724
811
|
return toBinary(SubscriptionSchema, subscription);
|
|
725
812
|
},
|
|
813
|
+
/**
|
|
814
|
+
* Determines the subscription operation for a request.
|
|
815
|
+
*
|
|
816
|
+
* @param request The admitted or incoming request.
|
|
817
|
+
* @returns The recognized subscription operation, if any.
|
|
818
|
+
*/
|
|
726
819
|
operationFor(request) {
|
|
727
820
|
if (request.service !== "spine.client.SubscriptionService")
|
|
728
821
|
return undefined;
|
|
@@ -734,6 +827,12 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
734
827
|
return "cancel";
|
|
735
828
|
return undefined;
|
|
736
829
|
},
|
|
830
|
+
/**
|
|
831
|
+
* Copies safe transport metadata from the request.
|
|
832
|
+
*
|
|
833
|
+
* @param request The admitted or incoming request.
|
|
834
|
+
* @returns Copied safe transport context.
|
|
835
|
+
*/
|
|
737
836
|
snapshotTransport(request) {
|
|
738
837
|
return Object.freeze({
|
|
739
838
|
service: request.service,
|
|
@@ -753,9 +852,22 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
753
852
|
: { userAgent: request.transport.userAgent }),
|
|
754
853
|
});
|
|
755
854
|
},
|
|
855
|
+
/**
|
|
856
|
+
* Builds a rejected gateway result.
|
|
857
|
+
*
|
|
858
|
+
* @param reason The original failure reason.
|
|
859
|
+
* @returns The rejected gateway result.
|
|
860
|
+
*/
|
|
756
861
|
rejected(reason) {
|
|
757
862
|
return { kind: "rejected", reason };
|
|
758
863
|
},
|
|
864
|
+
/**
|
|
865
|
+
* Converts a Protobuf timestamp to safe milliseconds.
|
|
866
|
+
*
|
|
867
|
+
* @param seconds Whole timestamp seconds.
|
|
868
|
+
* @param nanos Timestamp nanoseconds.
|
|
869
|
+
* @returns Safe milliseconds, or undefined for invalid input.
|
|
870
|
+
*/
|
|
759
871
|
timestampMs(seconds, nanos) {
|
|
760
872
|
const value = Number(seconds);
|
|
761
873
|
if (!Number.isSafeInteger(value) ||
|
|
@@ -766,6 +878,12 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
766
878
|
const result = value * 1_000 + Math.floor(nanos / 1_000_000);
|
|
767
879
|
return Number.isSafeInteger(result) ? result : undefined;
|
|
768
880
|
},
|
|
881
|
+
/**
|
|
882
|
+
* Validates and fills gateway subscription limits.
|
|
883
|
+
*
|
|
884
|
+
* @param input Caller-supplied limits.
|
|
885
|
+
* @returns Validated gateway limits.
|
|
886
|
+
*/
|
|
769
887
|
limits(input) {
|
|
770
888
|
const value = { ...defaultLimits, ...input };
|
|
771
889
|
for (const limit of Object.values(value))
|
|
@@ -773,6 +891,13 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
773
891
|
throw new Error("subscription limits must be positive safe integers");
|
|
774
892
|
return value;
|
|
775
893
|
},
|
|
894
|
+
/**
|
|
895
|
+
* Copies a bounded gateway request for admission.
|
|
896
|
+
*
|
|
897
|
+
* @param request The admitted or incoming request.
|
|
898
|
+
* @param limit Configured admission bounds.
|
|
899
|
+
* @returns The copied request, or undefined when too large.
|
|
900
|
+
*/
|
|
776
901
|
admit(request, limit) {
|
|
777
902
|
if (request.wire.bytes.byteLength > limit.maxRequestBytes)
|
|
778
903
|
return undefined;
|
|
@@ -788,6 +913,15 @@ const SubscriptionGatewayValues = Object.freeze({
|
|
|
788
913
|
...(request.signal === undefined ? {} : { signal: request.signal }),
|
|
789
914
|
};
|
|
790
915
|
},
|
|
916
|
+
/**
|
|
917
|
+
* Waits for one subscription operation within its finite timeout.
|
|
918
|
+
*
|
|
919
|
+
* @typeParam T The operation result.
|
|
920
|
+
* @param effect The in-flight operation.
|
|
921
|
+
* @param milliseconds Maximum duration in milliseconds.
|
|
922
|
+
* @param controller Controller used to cancel the operation.
|
|
923
|
+
* @returns The operation result before timeout.
|
|
924
|
+
*/
|
|
791
925
|
async withTimeout(effect, milliseconds, controller) {
|
|
792
926
|
if (controller.signal.aborted)
|
|
793
927
|
throw new Error("subscription operation aborted");
|