@rsdk/graphql 5.12.0-next.4 → 5.12.0-next.6
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/dist/config.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Size } from '@rsdk/common';
|
|
1
2
|
import { Config } from '@rsdk/core';
|
|
2
3
|
export declare enum Playground {
|
|
3
4
|
Default = "default",
|
|
@@ -10,4 +11,5 @@ export declare class GraphqlConfig extends Config {
|
|
|
10
11
|
subscriptionsTransportWsEnabled: boolean;
|
|
11
12
|
subscriptionsTransportWsKeepAlive: number | undefined;
|
|
12
13
|
noSchemaFile: boolean;
|
|
14
|
+
requestBodyLogMaxSize: Size;
|
|
13
15
|
}
|
package/dist/config.js
CHANGED
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.GraphqlConfig = exports.Playground = void 0;
|
|
13
|
+
const common_1 = require("@rsdk/common");
|
|
13
14
|
const core_1 = require("@rsdk/core");
|
|
14
15
|
var Playground;
|
|
15
16
|
(function (Playground) {
|
|
@@ -23,6 +24,7 @@ let GraphqlConfig = class GraphqlConfig extends core_1.Config {
|
|
|
23
24
|
subscriptionsTransportWsEnabled;
|
|
24
25
|
subscriptionsTransportWsKeepAlive;
|
|
25
26
|
noSchemaFile;
|
|
27
|
+
requestBodyLogMaxSize;
|
|
26
28
|
};
|
|
27
29
|
exports.GraphqlConfig = GraphqlConfig;
|
|
28
30
|
__decorate([
|
|
@@ -67,6 +69,13 @@ __decorate([
|
|
|
67
69
|
}),
|
|
68
70
|
__metadata("design:type", Boolean)
|
|
69
71
|
], GraphqlConfig.prototype, "noSchemaFile", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, core_1.Property)('GRAPHQL_REQUEST_BODY_LOG_MAX_SIZE', new core_1.SizeParser(), {
|
|
74
|
+
defaultValue: new common_1.Size(500, 'kb'),
|
|
75
|
+
description: 'Max request body size on logs, otherwise [TOO LARGE]',
|
|
76
|
+
}),
|
|
77
|
+
__metadata("design:type", common_1.Size)
|
|
78
|
+
], GraphqlConfig.prototype, "requestBodyLogMaxSize", void 0);
|
|
70
79
|
exports.GraphqlConfig = GraphqlConfig = __decorate([
|
|
71
80
|
(0, core_1.ConfigSection)({
|
|
72
81
|
tags: [core_1.ConfigTag.infrastructure, core_1.ConfigTag.transport, core_1.ConfigTag.graphql],
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AACpC,qCASoB;AAEpB,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,8CAAgC,CAAA;AAClC,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAKM,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,aAAM;IAKvC,iBAAiB,CAAW;IAM5B,cAAc,CAAc;IAM5B,cAAc,CAAW;IAOzB,+BAA+B,CAAW;IAO1C,iCAAiC,CAAqB;IAMtD,YAAY,CAAW;IAMvB,qBAAqB,CAAQ;CAC9B,CAAA;AA5CY,sCAAa;AAKxB;IAJC,IAAA,eAAQ,EAAC,2BAA2B,EAAE,IAAI,iBAAU,EAAE,EAAE;QACvD,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,8CAA8C;KAC5D,CAAC;;wDAC0B;AAM5B;IAJC,IAAA,eAAQ,EAAC,oBAAoB,EAAE,IAAI,iBAAU,CAAC,UAAU,CAAC,EAAE;QAC1D,YAAY,EAAE,UAAU,CAAC,OAAO;QAChC,WAAW,EAAE,iBAAiB;KAC/B,CAAC;;qDAC0B;AAM5B;IAJC,IAAA,eAAQ,EAAC,yBAAyB,EAAE,IAAI,iBAAU,EAAE,EAAE;QACrD,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mCAAmC;KACjD,CAAC;;qDACuB;AAOzB;IALC,IAAA,eAAQ,EAAC,2CAA2C,EAAE,IAAI,iBAAU,EAAE,EAAE;QACvE,YAAY,EAAE,KAAK;QACnB,WAAW,EACT,8GAA8G;KACjH,CAAC;;sEACwC;AAO1C;IALC,IAAA,eAAQ,EAAC,8CAA8C,EAAE,IAAI,gBAAS,EAAE,EAAE;QACzE,YAAY,EAAE,SAAS;QACvB,WAAW,EACT,oEAAoE;KACvE,CAAC;;wEACoD;AAMtD;IAJC,IAAA,eAAQ,EAAC,wBAAwB,EAAE,IAAI,iBAAU,EAAE,EAAE;QACpD,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,wCAAwC;KACtD,CAAC;;mDACqB;AAMvB;IAJC,IAAA,eAAQ,EAAC,mCAAmC,EAAE,IAAI,iBAAU,EAAE,EAAE;QAC/D,YAAY,EAAE,IAAI,aAAI,CAAC,GAAG,EAAE,IAAI,CAAC;QACjC,WAAW,EAAE,sDAAsD;KACpE,CAAC;8BACsB,aAAI;4DAAC;wBA3ClB,aAAa;IAHzB,IAAA,oBAAa,EAAC;QACb,IAAI,EAAE,CAAC,gBAAS,CAAC,cAAc,EAAE,gBAAS,CAAC,SAAS,EAAE,gBAAS,CAAC,OAAO,CAAC;KACzE,CAAC;GACW,aAAa,CA4CzB"}
|
|
@@ -35,10 +35,14 @@ let GraphqlLoggerInterceptor = class GraphqlLoggerInterceptor {
|
|
|
35
35
|
if (!isGraphql) {
|
|
36
36
|
return next.handle();
|
|
37
37
|
}
|
|
38
|
-
const
|
|
38
|
+
const gqlContext = graphql_1.GqlExecutionContext.create(context);
|
|
39
|
+
const { req: request } = gqlContext.getContext();
|
|
40
|
+
const bodyLength = Number.parseInt(request.headers['content-length'] || '0', 10);
|
|
39
41
|
const startDate = Date.now();
|
|
40
42
|
const requestForLog = {
|
|
41
|
-
body:
|
|
43
|
+
body: bodyLength > this.graphQLConfig.requestBodyLogMaxSize.bytes()
|
|
44
|
+
? `[TOO LARGE]: graphql request body is too large to display!`
|
|
45
|
+
: request.body,
|
|
42
46
|
query: request.query,
|
|
43
47
|
params: request.params,
|
|
44
48
|
method: request.method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-logger.interceptor.js","sourceRoot":"","sources":["../src/graphql-logger.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,2CAA4C;AAE5C,6CAAsD;AACtD,qCAA0C;AAG1C,oEAAiE;AACjE,mEAAgE;AAChE,qDAAkD;AAElD,qCAAyC;AAGlC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEe;IACxC;IAFV,YACkD,MAAe,EACvD,aAA4B;QADY,WAAM,GAAN,MAAM,CAAS;QACvD,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAEJ,SAAS,CACP,OAAyB,EACzB,IAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAkB,KAAK,SAAS,CAAC;QAClE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"graphql-logger.interceptor.js","sourceRoot":"","sources":["../src/graphql-logger.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,2CAA4C;AAE5C,6CAAsD;AACtD,qCAA0C;AAG1C,oEAAiE;AACjE,mEAAgE;AAChE,qDAAkD;AAElD,qCAAyC;AAGlC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEe;IACxC;IAFV,YACkD,MAAe,EACvD,aAA4B;QADY,WAAM,GAAN,MAAM,CAAS;QACvD,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAEJ,SAAS,CACP,OAAyB,EACzB,IAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAkB,KAAK,SAAS,CAAC;QAClE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,UAAU,GAAG,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAChC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,EACxC,EAAE,CACH,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,aAAa,GAAG;YACpB,IAAI,EACF,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,EAAE;gBAC3D,CAAC,CAAC,4DAA4D;gBAC9D,CAAC,CAAC,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YAC5C,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,uBAAU,EAAC,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACtD,OAAO,EAAE,aAAa;gBACtB,SAAS;gBACT,OAAO;gBACP,QAAQ,EAAE,OAAO,GAAG,SAAS;gBAC7B,KAAK;aACN,CAAC,CAAC;YACH,OAAO,IAAA,uBAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,EACF,IAAA,SAAG,EAAC,CAAC,QAAQ,EAAE,EAAE;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBAC3C,OAAO,EAAE,aAAa;gBACtB,SAAS;gBACT,OAAO;gBACP,QAAQ,EAAE,OAAO,GAAG,SAAS;gBAC7B,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AArEY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,mBAAY,EAAC,wBAAwB,CAAC,CAAA;6CAChB,sBAAa;GAH3B,wBAAwB,CAqEpC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/graphql",
|
|
3
|
-
"version": "5.12.0-next.
|
|
3
|
+
"version": "5.12.0-next.6",
|
|
4
4
|
"description": "Plugin for graphql",
|
|
5
5
|
"license": "Apache License 2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"reflect-metadata": "^0.1.12 || ^0.2.0",
|
|
30
30
|
"rxjs": "^7.1.0"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "32103725bddbe5e7e99074ba40b5032dc14cf60c"
|
|
33
33
|
}
|
package/src/config.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Size } from '@rsdk/common';
|
|
1
2
|
import {
|
|
2
3
|
BoolParser,
|
|
3
4
|
Config,
|
|
@@ -6,6 +7,7 @@ import {
|
|
|
6
7
|
EnumParser,
|
|
7
8
|
IntParser,
|
|
8
9
|
Property,
|
|
10
|
+
SizeParser,
|
|
9
11
|
} from '@rsdk/core';
|
|
10
12
|
|
|
11
13
|
export enum Playground {
|
|
@@ -54,4 +56,10 @@ export class GraphqlConfig extends Config {
|
|
|
54
56
|
description: 'Disable GraphQL schema file generation',
|
|
55
57
|
})
|
|
56
58
|
noSchemaFile!: boolean;
|
|
59
|
+
|
|
60
|
+
@Property('GRAPHQL_REQUEST_BODY_LOG_MAX_SIZE', new SizeParser(), {
|
|
61
|
+
defaultValue: new Size(500, 'kb'),
|
|
62
|
+
description: 'Max request body size on logs, otherwise [TOO LARGE]',
|
|
63
|
+
})
|
|
64
|
+
requestBodyLogMaxSize!: Size;
|
|
57
65
|
}
|
|
@@ -34,11 +34,19 @@ export class GraphqlLoggerInterceptor implements NestInterceptor {
|
|
|
34
34
|
return next.handle();
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
const
|
|
38
|
-
|
|
37
|
+
const gqlContext = GqlExecutionContext.create(context);
|
|
38
|
+
const { req: request } = gqlContext.getContext();
|
|
39
|
+
const bodyLength = Number.parseInt(
|
|
40
|
+
request.headers['content-length'] || '0',
|
|
41
|
+
10,
|
|
42
|
+
);
|
|
39
43
|
const startDate = Date.now();
|
|
44
|
+
|
|
40
45
|
const requestForLog = {
|
|
41
|
-
body:
|
|
46
|
+
body:
|
|
47
|
+
bodyLength > this.graphQLConfig.requestBodyLogMaxSize.bytes()
|
|
48
|
+
? `[TOO LARGE]: graphql request body is too large to display!`
|
|
49
|
+
: request.body,
|
|
42
50
|
query: request.query,
|
|
43
51
|
params: request.params,
|
|
44
52
|
method: request.method,
|