@eleven-am/pondsocket 0.1.103 → 0.1.105

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.
@@ -59,12 +59,11 @@ class JoinResponse extends abstractResponse_1.PondResponse {
59
59
  */
60
60
  reject(message, errorCode) {
61
61
  __classPrivateFieldGet(this, _JoinResponse_instances, "m", _JoinResponse_performChecks).call(this);
62
- const text = `Request to join channel ${__classPrivateFieldGet(this, _JoinResponse_engine, "f").name} rejected: ${message || 'Unauthorized request'}`;
63
62
  const errorMessage = {
64
63
  event: enums_1.ErrorTypes.UNAUTHORIZED_JOIN_REQUEST,
65
64
  payload: {
66
- message: text,
67
- code: errorCode || 403,
65
+ message: message || 'Unauthorized connection',
66
+ code: errorCode || 401,
68
67
  },
69
68
  channelName: __classPrivateFieldGet(this, _JoinResponse_engine, "f").name,
70
69
  action: enums_1.ServerActions.ERROR,
package/nest.js CHANGED
@@ -247,6 +247,46 @@ class Context {
247
247
  return (_a = this.data[key]) !== null && _a !== void 0 ? _a : null;
248
248
  }
249
249
  }
250
+ function manageResponse(data, response) {
251
+ if (response.hasResponded) {
252
+ return;
253
+ }
254
+ const { event, presence, updatePresence, assigns, broadcast, accept = true } = data, rest = __rest(data, ["event", "presence", "updatePresence", "assigns", "broadcast", "accept"]);
255
+ if (event && typeof event === 'string' && isNotEmpty(rest)) {
256
+ response.send(event, rest, assigns);
257
+ }
258
+ if (broadcast && typeof broadcast === 'string' && isNotEmpty(rest) && 'broadcast' in response) {
259
+ response.broadcast(broadcast, rest);
260
+ }
261
+ if ('trackPresence' in response && presence) {
262
+ response.trackPresence(presence);
263
+ }
264
+ else if ('updatePresence' in response && updatePresence) {
265
+ response.updatePresence(updatePresence);
266
+ }
267
+ if (response.hasResponded) {
268
+ return;
269
+ }
270
+ if (accept) {
271
+ if (isNotEmpty(assigns)) {
272
+ response.accept(assigns);
273
+ }
274
+ else {
275
+ response.accept();
276
+ }
277
+ }
278
+ }
279
+ function manageError(error, response) {
280
+ if (response.hasResponded) {
281
+ return;
282
+ }
283
+ if (error instanceof common_1.HttpException) {
284
+ response.reject(error.message, error.getStatus());
285
+ }
286
+ if (error instanceof Error) {
287
+ response.reject(error.message, 500);
288
+ }
289
+ }
250
290
  function manageConnectionHandlers(target) {
251
291
  return manageHandlers(onConnectionHandlerKey, target);
252
292
  }
@@ -469,6 +509,19 @@ function GetLeaveEvent() {
469
509
  })(null);
470
510
  }
471
511
  exports.GetLeaveEvent = GetLeaveEvent;
512
+ function manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response) {
513
+ return __awaiter(this, void 0, void 0, function* () {
514
+ const context = new Context(req, res, instance, propertyKey);
515
+ const canProceed = yield resolveGuards(moduleRef, context);
516
+ if (canProceed) {
517
+ const data = yield originalMethod.apply(instance, resolveParameters(context));
518
+ manageResponse(data, response);
519
+ }
520
+ else {
521
+ response.reject('Unauthorized', 401);
522
+ }
523
+ });
524
+ }
472
525
  function OnConnectionRequest() {
473
526
  return (target, propertyKey, descriptor) => {
474
527
  const originalMethod = descriptor.value;
@@ -481,33 +534,10 @@ function OnConnectionRequest() {
481
534
  const res = {
482
535
  connection: response,
483
536
  };
484
- const context = new Context(req, res, instance, propertyKey);
485
- const canProceed = yield resolveGuards(moduleRef, context);
486
- if (canProceed) {
487
- const data = yield originalMethod.apply(instance, resolveParameters(context));
488
- if (!response.hasResponded) {
489
- if (data) {
490
- const { event, assigns } = data, rest = __rest(data, ["event", "assigns"]);
491
- if (typeof event === 'string' && isNotEmpty(rest)) {
492
- response.send(event, rest, assigns);
493
- }
494
- else {
495
- response.accept(typeof assigns === 'object' ? assigns : {});
496
- }
497
- }
498
- else {
499
- response.accept();
500
- }
501
- }
502
- }
503
- else {
504
- response.reject('Unauthorized', 401);
505
- }
537
+ yield manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response);
506
538
  }
507
539
  catch (error) {
508
- if (!response.hasResponded && error instanceof Error) {
509
- response.reject(error.message);
510
- }
540
+ manageError(error, response);
511
541
  }
512
542
  }));
513
543
  };
@@ -525,36 +555,10 @@ function OnJoinRequest() {
525
555
  const res = {
526
556
  joinResponse: response,
527
557
  };
528
- const context = new Context(req, res, instance, propertyKey);
529
- const canProceed = yield resolveGuards(moduleRef, context);
530
- if (canProceed) {
531
- const data = yield originalMethod.apply(instance, resolveParameters(context));
532
- if (!response.hasResponded) {
533
- if (data) {
534
- const { event, presence, assigns } = data, rest = __rest(data, ["event", "presence", "assigns"]);
535
- if (typeof event === 'string' && isNotEmpty(rest)) {
536
- response.send(event, rest, assigns);
537
- }
538
- else {
539
- response.accept(typeof assigns === 'object' ? assigns : {});
540
- }
541
- if (presence) {
542
- response.trackPresence(presence);
543
- }
544
- }
545
- else {
546
- response.accept();
547
- }
548
- }
549
- }
550
- else {
551
- response.reject('Unauthorized', 401);
552
- }
558
+ yield manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response);
553
559
  }
554
560
  catch (error) {
555
- if (!response.hasResponded && error instanceof Error) {
556
- response.reject(error.message);
557
- }
561
+ manageError(error, response);
558
562
  }
559
563
  }));
560
564
  };
@@ -572,39 +576,10 @@ function OnEvent(event = '*') {
572
576
  const res = {
573
577
  eventResponse: response,
574
578
  };
575
- const context = new Context(req, res, instance, propertyKey);
576
- const canProceed = yield resolveGuards(moduleRef, context);
577
- if (canProceed) {
578
- const data = yield originalMethod.apply(instance, resolveParameters(context));
579
- if (!response.hasResponded) {
580
- if (data) {
581
- const { event, presence, updatePresence, assigns } = data, rest = __rest(data, ["event", "presence", "updatePresence", "assigns"]);
582
- if (typeof event === 'string' && isNotEmpty(rest)) {
583
- response.send(event, rest, assigns);
584
- }
585
- else {
586
- response.accept(typeof assigns === 'object' ? assigns : {});
587
- }
588
- if (presence) {
589
- response.trackPresence(presence);
590
- }
591
- else if (updatePresence) {
592
- response.updatePresence(updatePresence);
593
- }
594
- }
595
- else {
596
- response.accept();
597
- }
598
- }
599
- }
600
- else {
601
- response.reject('Unauthorized', 401);
602
- }
579
+ yield manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response);
603
580
  }
604
581
  catch (error) {
605
- if (!response.hasResponded && error instanceof Error) {
606
- response.reject(error.message);
607
- }
582
+ manageError(error, response);
608
583
  }
609
584
  }));
610
585
  };
@@ -615,17 +590,10 @@ function OnLeaveEvent() {
615
590
  const originalMethod = descriptor.value;
616
591
  const { set } = manageOnLeaveHandlers(target);
617
592
  set('', (instance, _, event) => __awaiter(this, void 0, void 0, function* () {
618
- try {
619
- const context = new Context({
620
- leveeEvent: event,
621
- }, {}, instance, propertyKey);
622
- yield originalMethod.apply(instance, resolveParameters(context));
623
- }
624
- catch (error) {
625
- if (error instanceof Error) {
626
- console.error(error.message);
627
- }
628
- }
593
+ const context = new Context({
594
+ leveeEvent: event,
595
+ }, {}, instance, propertyKey);
596
+ yield originalMethod.apply(instance, resolveParameters(context));
629
597
  }));
630
598
  };
631
599
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eleven-am/pondsocket",
3
- "version": "0.1.103",
3
+ "version": "0.1.105",
4
4
  "description": "PondSocket is a fast simple socket server",
5
5
  "keywords": [
6
6
  "socket",