@feathersjs/transport-commons 5.0.0-pre.16 → 5.0.0-pre.19

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/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.0.0-pre.19](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.18...v5.0.0-pre.19) (2022-05-01)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **transport-commons:** Ensure socket queries are always plain objects ([#2597](https://github.com/feathersjs/feathers/issues/2597)) ([97313e1](https://github.com/feathersjs/feathers/commit/97313e121cfee4199f10012e95b8507557aa507e))
12
+
13
+
14
+
15
+
16
+
17
+ # [5.0.0-pre.18](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.17...v5.0.0-pre.18) (2022-04-11)
18
+
19
+
20
+ ### Features
21
+
22
+ * **transport-commons:** add `context.http.response` ([#2524](https://github.com/feathersjs/feathers/issues/2524)) ([5bc9d44](https://github.com/feathersjs/feathers/commit/5bc9d447043c2e2b742c73ed28ecf3b3264dd9e5))
23
+
24
+
25
+
26
+
27
+
28
+ # [5.0.0-pre.17](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.16...v5.0.0-pre.17) (2022-02-15)
29
+
30
+ **Note:** Version bump only for package @feathersjs/transport-commons
31
+
32
+
33
+
34
+
35
+
6
36
  # [5.0.0-pre.16](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.15...v5.0.0-pre.16) (2022-01-12)
7
37
 
8
38
 
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2021 Feathers
3
+ Copyright (c) 2022 Feathers
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # @feathersjs/transport-commons
2
2
 
3
3
  [![CI](https://github.com/feathersjs/feathers/workflows/CI/badge.svg)](https://github.com/feathersjs/feathers/actions?query=workflow%3ACI)
4
- [![Dependency Status](https://img.shields.io/david/feathersjs/feathers.svg?style=flat-square&path=packages/transport-commons)](https://david-dm.org/feathersjs/feathers?path=packages/transport-commons)
5
4
  [![Download Status](https://img.shields.io/npm/dm/@feathersjs/transport-commons.svg?style=flat-square)](https://www.npmjs.com/package/@feathersjs/transport-commons)
5
+ [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/qa8kez8QBx)
6
6
 
7
7
  > Shared functionality for Feathers API transports like `@feathers/socketio` and `@feathersjs/primus`. Only intended to be used internally.
8
8
 
9
9
  ## License
10
10
 
11
- Copyright (c) 2021 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
11
+ Copyright (c) 2022 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
12
12
 
13
13
  Licensed under the [MIT license](LICENSE).
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { Application } from '@feathersjs/feathers';
3
3
  import { Channel, RealTimeConnection } from './channel/base';
4
+ import { CombinedChannel } from './channel/combined';
4
5
  import { keys, Event, Publisher } from './mixins';
5
6
  import EventEmitter from 'events';
6
7
  declare module '@feathersjs/feathers/lib/declarations' {
@@ -25,3 +26,4 @@ declare module '@feathersjs/feathers/lib/declarations' {
25
26
  }
26
27
  export { keys };
27
28
  export declare function channels(): (app: Application) => void;
29
+ export { Channel, CombinedChannel, RealTimeConnection };
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.channels = exports.keys = void 0;
3
+ exports.CombinedChannel = exports.Channel = exports.channels = exports.keys = void 0;
4
4
  const feathers_1 = require("@feathersjs/feathers");
5
5
  const commons_1 = require("@feathersjs/commons");
6
6
  const lodash_1 = require("lodash");
7
+ const base_1 = require("./channel/base");
8
+ Object.defineProperty(exports, "Channel", { enumerable: true, get: function () { return base_1.Channel; } });
7
9
  const combined_1 = require("./channel/combined");
10
+ Object.defineProperty(exports, "CombinedChannel", { enumerable: true, get: function () { return combined_1.CombinedChannel; } });
8
11
  const mixins_1 = require("./mixins");
9
12
  Object.defineProperty(exports, "keys", { enumerable: true, get: function () { return mixins_1.keys; } });
10
13
  const debug = (0, commons_1.createDebug)('@feathersjs/transport-commons/channels');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":";;;AAAA,mDAAuF;AACvF,iDAAkD;AAClD,mCAAoD;AACpD,yCAA6D;AA8GpD,wFA9GA,cAAO,OA8GA;AA7GhB,iDAAqD;AA6GnC,gGA7GT,0BAAe,OA6GS;AA5GjC,qCAA4F;AAiCnF,qFAjC4B,aAAI,OAiC5B;AA9Bb,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,wCAAwC,CAAC,CAAC;AACpE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAI,CAAC;AA+B1B,SAAgB,QAAQ;IACtB,OAAO,CAAC,GAAgB,EAAE,EAAE;QAC1B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE;YAC1E,OAAO;SACR;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAA,qBAAY,GAAE,EAAE,IAAA,qBAAY,GAAE,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;YACrC,GAAG;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAwB,EAAE,IAAY,EAAE,EAAE;YACzD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAC;YAErD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE;gBACzC,OAAO;aACR;YAED,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,qBAAY,GAAE,CAAC,CAAC;YAEvC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,IAAI;oBACpC,IAAI,CAAC,IAAI,EAAE;wBACT,8BAA8B;wBAC9B,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBAC7C;oBAED,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE5C,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,KAAK,aAAa,EAAE,KAAK,CAAC,CAAC;oBAC5F,MAAM,iBAAiB,GAAI,OAAmC,CAAC,aAAI,CAAC,UAAU,CAAC,CAAC;oBAChF,MAAM,aAAa,GAAI,GAA+B,CAAC,aAAI,CAAC,UAAU,CAAC,CAAC;oBACxE,8DAA8D;oBAC9D,8BAA8B;oBAC9B,MAAM,SAAS,GAAG;oBAChB,4CAA4C;oBAC5C,iBAAiB,CAAC,KAAK,CAAC;wBACxB,sCAAsC;wBACtC,iBAAiB,CAAC,aAAI,CAAC,UAAU,CAAC;wBAClC,wCAAwC;wBACxC,aAAa,CAAC,KAAK,CAAC;wBACpB,kCAAkC;wBAClC,aAAa,CAAC,aAAI,CAAC,UAAU,CAAC;wBAC9B,kBAAkB;wBAClB,aAAI,CACL,CAAC;oBAEF,IAAI;wBACF,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;4BAC1D,IAAI,CAAC,MAAM,EAAE;gCACX,OAAO;6BACR;4BAED,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAO,EAAC,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAc,CAAC,CAAC;4BAC/F,MAAM,OAAO,GAAG,IAAI,0BAAe,CAAC,OAAO,CAAC,CAAC;4BAE7C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gCACjC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;6BACjD;iCAAM;gCACL,KAAK,CAAC,8BAA8B,CAAC,CAAC;6BACvC;wBACH,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;qBACpB;oBAAC,OAAO,KAAU,EAAE;wBACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAvED,4BAuEC"}
package/lib/http.d.ts CHANGED
@@ -10,19 +10,26 @@ export declare const statusCodes: {
10
10
  noContent: number;
11
11
  methodNotAllowed: number;
12
12
  success: number;
13
+ seeOther: number;
13
14
  };
14
15
  export declare const knownMethods: {
15
16
  [key: string]: string;
16
17
  };
17
18
  export declare function getServiceMethod(_httpMethod: string, id: unknown, headerOverride?: string): string;
18
19
  export declare const argumentsFor: {
19
- get: ({ id, params }: ServiceParams) => (Params | NullableId)[];
20
- find: ({ params }: ServiceParams) => Params[];
20
+ get: ({ id, params }: ServiceParams) => (Params<import("@feathersjs/feathers").Query> | NullableId)[];
21
+ find: ({ params }: ServiceParams) => Params<import("@feathersjs/feathers").Query>[];
21
22
  create: ({ data, params }: ServiceParams) => any[];
22
23
  update: ({ id, data, params }: ServiceParams) => any[];
23
24
  patch: ({ id, data, params }: ServiceParams) => any[];
24
- remove: ({ id, params }: ServiceParams) => (Params | NullableId)[];
25
+ remove: ({ id, params }: ServiceParams) => (Params<import("@feathersjs/feathers").Query> | NullableId)[];
25
26
  default: ({ data, params }: ServiceParams) => any[];
26
27
  };
27
- export declare function getData(context: HookContext): any;
28
- export declare function getStatusCode(context: HookContext, data?: any): number;
28
+ export declare function getStatusCode(context: HookContext, body: any, location: string | string[]): number;
29
+ export declare function getResponse(context: HookContext): {
30
+ status: number;
31
+ headers: {
32
+ [key: string]: string | string[];
33
+ };
34
+ body: any;
35
+ };
package/lib/http.js CHANGED
@@ -1,13 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStatusCode = exports.getData = exports.argumentsFor = exports.getServiceMethod = exports.knownMethods = exports.statusCodes = exports.METHOD_HEADER = void 0;
6
+ exports.getResponse = exports.getStatusCode = exports.argumentsFor = exports.getServiceMethod = exports.knownMethods = exports.statusCodes = exports.METHOD_HEADER = void 0;
4
7
  const lib_1 = require("@feathersjs/errors/lib");
8
+ const encodeurl_1 = __importDefault(require("encodeurl"));
5
9
  exports.METHOD_HEADER = 'x-service-method';
6
10
  exports.statusCodes = {
7
11
  created: 201,
8
12
  noContent: 204,
9
13
  methodNotAllowed: 405,
10
- success: 200
14
+ success: 200,
15
+ seeOther: 303
11
16
  };
12
17
  exports.knownMethods = {
13
18
  post: 'create',
@@ -39,24 +44,34 @@ exports.argumentsFor = {
39
44
  remove: ({ id, params }) => [id, params],
40
45
  default: ({ data, params }) => [data, params]
41
46
  };
42
- function getData(context) {
43
- return context.dispatch !== undefined
44
- ? context.dispatch
45
- : context.result;
46
- }
47
- exports.getData = getData;
48
- function getStatusCode(context, data) {
49
- var _a;
50
- if ((_a = context.http) === null || _a === void 0 ? void 0 : _a.statusCode) {
51
- return context.http.statusCode;
47
+ function getStatusCode(context, body, location) {
48
+ const { http = {} } = context;
49
+ if (http.status) {
50
+ return http.status;
52
51
  }
53
52
  if (context.method === 'create') {
54
53
  return exports.statusCodes.created;
55
54
  }
56
- if (!data) {
55
+ if (location !== undefined) {
56
+ return exports.statusCodes.seeOther;
57
+ }
58
+ if (!body) {
57
59
  return exports.statusCodes.noContent;
58
60
  }
59
61
  return exports.statusCodes.success;
60
62
  }
61
63
  exports.getStatusCode = getStatusCode;
64
+ function getResponse(context) {
65
+ const { http = {} } = context;
66
+ const body = context.dispatch !== undefined ? context.dispatch : context.result;
67
+ let headers = http.headers || {};
68
+ let location = headers.Location;
69
+ if (http.location !== undefined) {
70
+ location = (0, encodeurl_1.default)(http.location);
71
+ headers = { ...headers, Location: location };
72
+ }
73
+ const status = getStatusCode(context, body, location);
74
+ return { status, headers, body };
75
+ }
76
+ exports.getResponse = getResponse;
62
77
  //# sourceMappingURL=http.js.map
package/lib/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";;;AAAA,gDAA0D;AAG7C,QAAA,aAAa,GAAG,kBAAkB,CAAC;AAQnC,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,gBAAgB,EAAE,GAAG;IACrB,OAAO,EAAE,GAAG;CACb,CAAC;AAEW,QAAA,YAAY,GAA8B;IACrD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,SAAgB,gBAAgB,CAAE,WAAmB,EAAE,EAAW,EAAE,cAAuB;IACzF,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE7C,IAAI,UAAU,KAAK,MAAM,IAAI,cAAc,EAAE;QAC3C,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,YAAY,GAAG,oBAAY,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;IAED,IAAI,UAAU,KAAK,KAAK,EAAE;QACxB,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;KACrC;IAED,MAAM,IAAI,sBAAgB,CAAC,UAAU,WAAW,cAAc,CAAC,CAAC;AAClE,CAAC;AAlBD,4CAkBC;AAEY,QAAA,YAAY,GAAG;IAC1B,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,MAAM,CAAE;IACtD,IAAI,EAAE,CAAC,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,MAAM,CAAE;IAC/C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,IAAI,EAAE,MAAM,CAAE;IAC7D,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAE;IACrE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAE;IACpE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,EAAE,EAAE,MAAM,CAAE;IACzD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAiB,EAAE,EAAE,CAAC,CAAE,IAAI,EAAE,MAAM,CAAE;CAC/D,CAAA;AAED,SAAgB,OAAO,CAAE,OAAoB;IAC3C,OAAO,OAAO,CAAC,QAAQ,KAAK,SAAS;QACnC,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AACrB,CAAC;AAJD,0BAIC;AAED,SAAgB,aAAa,CAAE,OAAoB,EAAE,IAAU;;IAC7D,IAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,UAAU,EAAE;QAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;KAChC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;QAC/B,OAAO,mBAAW,CAAC,OAAO,CAAC;KAC5B;IAED,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,mBAAW,CAAC,SAAS,CAAC;KAC9B;IAED,OAAO,mBAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAdD,sCAcC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { socket } from './socket';
2
2
  import { routing } from './routing';
3
- import { channels } from './channels';
3
+ import { channels, Channel, CombinedChannel, RealTimeConnection } from './channels';
4
4
  export * as http from './http';
5
- export { socket, routing, channels };
5
+ export { socket, routing, channels, Channel, CombinedChannel, RealTimeConnection };
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -19,12 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
23
  return result;
20
24
  };
21
25
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.channels = exports.routing = exports.socket = exports.http = void 0;
26
+ exports.CombinedChannel = exports.Channel = exports.channels = exports.routing = exports.socket = exports.http = void 0;
23
27
  const socket_1 = require("./socket");
24
28
  Object.defineProperty(exports, "socket", { enumerable: true, get: function () { return socket_1.socket; } });
25
29
  const routing_1 = require("./routing");
26
30
  Object.defineProperty(exports, "routing", { enumerable: true, get: function () { return routing_1.routing; } });
27
31
  const channels_1 = require("./channels");
28
32
  Object.defineProperty(exports, "channels", { enumerable: true, get: function () { return channels_1.channels; } });
33
+ Object.defineProperty(exports, "Channel", { enumerable: true, get: function () { return channels_1.Channel; } });
34
+ Object.defineProperty(exports, "CombinedChannel", { enumerable: true, get: function () { return channels_1.CombinedChannel; } });
29
35
  exports.http = __importStar(require("./http"));
30
36
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkC;AAKzB,uFALA,eAAM,OAKA;AAJf,uCAAoC;AAInB,wFAJR,iBAAO,OAIQ;AAHxB,yCAAsC;AAGZ,yFAHjB,mBAAQ,OAGiB;AADlC,+CAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkC;AAMhC,uFANO,eAAM,OAMP;AALR,uCAAoC;AAMlC,wFANO,iBAAO,OAMP;AALT,yCAAoF;AAMlF,yFANO,mBAAQ,OAMP;AACR,wFAPiB,kBAAO,OAOjB;AACP,gGAR0B,0BAAe,OAQ1B;AANjB,+CAA+B"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,qCAAkC;AAiBlC,2CAAyB;AAEzB,MAAM,MAAM,GAAG,UAA6B,IAAY;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC;IAE9E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEK,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,GAAgB,EAAE,EAAE;IAChD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;QACpC,OAAO;KACR;IAED,GAAG,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAEpB,qDAAqD;IACrD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAuB,EAAE,EAAE;QAC1E,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAE7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,OAAO,WAelB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,qCAAkC;AAiBlC,2CAAyB;AAEzB,MAAM,MAAM,GAAG,UAA6B,IAAY;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC;IAE9E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEK,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,GAAgB,EAAE,EAAE;IAChD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;QACpC,OAAO;KACR;IAED,GAAG,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAEpB,qDAAqD;IACrD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAuB,EAAE,EAAE;QAC1E,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAE7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,OAAO,WAelB"}
@@ -74,7 +74,7 @@ async function runMethod(app, connection, path, method, args) {
74
74
  throw new errors_1.MethodNotAllowed(`Method '${method}' not allowed on service '${path}'`);
75
75
  }
76
76
  const position = exports.paramsPositions[method] !== undefined ? exports.paramsPositions[method] : exports.DEFAULT_PARAMS_POSITION;
77
- const query = methodArgs[position] || {};
77
+ const query = Object.assign({}, methodArgs[position]);
78
78
  // `params` have to be re-mapped to the query and added with the route
79
79
  const params = Object.assign({ query, route, connection }, connection);
80
80
  // `params` is always the last parameter. Error if we got more arguments.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/socket/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/socket/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/transport-commons",
3
3
  "description": "Shared functionality for websocket providers",
4
- "version": "5.0.0-pre.16",
4
+ "version": "5.0.0-pre.19",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "types": "lib/",
@@ -16,7 +16,8 @@
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git://github.com/feathersjs/feathers.git"
19
+ "url": "git://github.com/feathersjs/feathers.git",
20
+ "directory": "packages/transport-commons"
20
21
  },
21
22
  "author": {
22
23
  "name": "Feathers contributors",
@@ -33,7 +34,7 @@
33
34
  "scripts": {
34
35
  "prepublish": "npm run compile",
35
36
  "compile": "shx rm -rf lib/ && tsc",
36
- "test": "npm run compile && npm run mocha",
37
+ "test": "npm run mocha",
37
38
  "mocha": "mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
38
39
  },
39
40
  "directories": {
@@ -52,19 +53,21 @@
52
53
  "*.js"
53
54
  ],
54
55
  "dependencies": {
55
- "@feathersjs/commons": "^5.0.0-pre.16",
56
- "@feathersjs/errors": "^5.0.0-pre.16",
57
- "@feathersjs/feathers": "^5.0.0-pre.16",
56
+ "@feathersjs/commons": "^5.0.0-pre.19",
57
+ "@feathersjs/errors": "^5.0.0-pre.19",
58
+ "@feathersjs/feathers": "^5.0.0-pre.19",
59
+ "encodeurl": "^1.0.2",
58
60
  "lodash": "^4.17.21"
59
61
  },
60
62
  "devDependencies": {
61
- "@types/lodash": "^4.14.178",
62
- "@types/mocha": "^9.0.0",
63
- "@types/node": "^17.0.5",
64
- "mocha": "^9.1.3",
65
- "shx": "^0.3.3",
66
- "ts-node": "^10.4.0",
67
- "typescript": "^4.5.4"
63
+ "@types/encodeurl": "^1.0.0",
64
+ "@types/lodash": "^4.14.182",
65
+ "@types/mocha": "^9.1.1",
66
+ "@types/node": "^17.0.31",
67
+ "mocha": "^10.0.0",
68
+ "shx": "^0.3.4",
69
+ "ts-node": "^10.7.0",
70
+ "typescript": "^4.6.4"
68
71
  },
69
- "gitHead": "f0cd227a82d159b528193bd33747c97684a48773"
72
+ "gitHead": "57f3e18bb62735e1869ffafee90286498738fdfa"
70
73
  }
@@ -110,3 +110,5 @@ export function channels () {
110
110
  });
111
111
  };
112
112
  }
113
+
114
+ export { Channel, CombinedChannel, RealTimeConnection }
package/src/http.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { MethodNotAllowed } from '@feathersjs/errors/lib';
2
2
  import { HookContext, NullableId, Params } from '@feathersjs/feathers';
3
+ import encodeUrl from 'encodeurl';
3
4
 
4
5
  export const METHOD_HEADER = 'x-service-method';
5
6
 
@@ -13,7 +14,8 @@ export const statusCodes = {
13
14
  created: 201,
14
15
  noContent: 204,
15
16
  methodNotAllowed: 405,
16
- success: 200
17
+ success: 200,
18
+ seeOther: 303
17
19
  };
18
20
 
19
21
  export const knownMethods: { [key: string]: string } = {
@@ -25,7 +27,7 @@ export const knownMethods: { [key: string]: string } = {
25
27
 
26
28
  export function getServiceMethod (_httpMethod: string, id: unknown, headerOverride?: string) {
27
29
  const httpMethod = _httpMethod.toLowerCase();
28
-
30
+
29
31
  if (httpMethod === 'post' && headerOverride) {
30
32
  return headerOverride;
31
33
  }
@@ -53,24 +55,41 @@ export const argumentsFor = {
53
55
  default: ({ data, params }: ServiceParams) => [ data, params ]
54
56
  }
55
57
 
56
- export function getData (context: HookContext) {
57
- return context.dispatch !== undefined
58
- ? context.dispatch
59
- : context.result;
60
- }
58
+ export function getStatusCode (context: HookContext, body: any, location: string|string[]) {
59
+ const { http = {} } = context;
61
60
 
62
- export function getStatusCode (context: HookContext, data?: any) {
63
- if (context.http?.statusCode) {
64
- return context.http.statusCode;
61
+ if (http.status) {
62
+ return http.status;
65
63
  }
66
64
 
67
65
  if (context.method === 'create') {
68
66
  return statusCodes.created;
69
67
  }
70
68
 
71
- if (!data) {
69
+ if (location !== undefined) {
70
+ return statusCodes.seeOther;
71
+ }
72
+
73
+ if (!body) {
72
74
  return statusCodes.noContent;
73
75
  }
74
76
 
75
77
  return statusCodes.success;
76
78
  }
79
+
80
+ export function getResponse (context: HookContext) {
81
+ const { http = {} } = context;
82
+ const body = context.dispatch !== undefined ? context.dispatch : context.result;
83
+
84
+ let headers = http.headers || {};
85
+ let location = headers.Location;
86
+
87
+ if (http.location !== undefined) {
88
+ location = encodeUrl(http.location);
89
+ headers = { ...headers, Location: location };
90
+ }
91
+
92
+ const status = getStatusCode(context, body, location);
93
+
94
+ return { status, headers, body };
95
+ }
package/src/index.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  import { socket } from './socket';
2
2
  import { routing } from './routing';
3
- import { channels } from './channels';
3
+ import { channels, Channel, CombinedChannel, RealTimeConnection } from './channels';
4
4
 
5
5
  export * as http from './http';
6
- export { socket, routing, channels };
6
+ export {
7
+ socket,
8
+ routing,
9
+ channels,
10
+ Channel,
11
+ CombinedChannel,
12
+ RealTimeConnection
13
+ };
@@ -91,7 +91,7 @@ export async function runMethod (app: Application, connection: RealTimeConnectio
91
91
  }
92
92
 
93
93
  const position = paramsPositions[method] !== undefined ? paramsPositions[method] : DEFAULT_PARAMS_POSITION;
94
- const query = methodArgs[position] || {};
94
+ const query = Object.assign({}, methodArgs[position]);
95
95
  // `params` have to be re-mapped to the query and added with the route
96
96
  const params = Object.assign({ query, route, connection }, connection);
97
97