@contract-case/case-connector 0.29.1 → 0.30.0
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 +19 -0
- package/README.md +19 -0
- package/dist/cjs/src/connectors/case-boundary/internals/BoundaryPluginLoader.cjs +16 -4
- package/dist/cjs/src/connectors/case-boundary/internals/BoundaryPluginLoader.d.ts.map +1 -1
- package/dist/cjs/src/connectors/case-boundary/internals/BoundaryPluginLoader.js.map +1 -1
- package/dist/cjs/src/connectors/grpc/authTokenInterceptor.cjs +41 -0
- package/dist/cjs/src/connectors/grpc/authTokenInterceptor.d.cts +14 -0
- package/dist/cjs/src/connectors/grpc/authTokenInterceptor.d.ts.map +1 -0
- package/dist/cjs/src/connectors/grpc/authTokenInterceptor.js.map +1 -0
- package/dist/cjs/src/connectors/grpc/contract-case-stream.d.mts +7 -1
- package/dist/cjs/src/connectors/grpc/contract-case-stream.d.mts.map +1 -1
- package/dist/cjs/src/connectors/grpc/contract-case-stream.mjs +18 -3
- package/dist/cjs/src/connectors/grpc/contract-case-stream.mjs.map +1 -1
- package/dist/cjs/src/entities/versionString.cjs +1 -1
- package/dist/cjs/src/entities/versionString.d.cts +1 -1
- package/dist/cjs/tsconfig.56c70853.tsbuildinfo +1 -0
- package/dist/src/connectors/case-boundary/internals/BoundaryPluginLoader.d.ts.map +1 -1
- package/dist/src/connectors/case-boundary/internals/BoundaryPluginLoader.js +16 -4
- package/dist/src/connectors/case-boundary/internals/BoundaryPluginLoader.js.map +1 -1
- package/dist/src/connectors/grpc/authTokenInterceptor.d.ts +14 -0
- package/dist/src/connectors/grpc/authTokenInterceptor.d.ts.map +1 -0
- package/dist/src/connectors/grpc/authTokenInterceptor.js +37 -0
- package/dist/src/connectors/grpc/authTokenInterceptor.js.map +1 -0
- package/dist/src/connectors/grpc/contract-case-stream.d.mts +7 -1
- package/dist/src/connectors/grpc/contract-case-stream.d.mts.map +1 -1
- package/dist/src/connectors/grpc/contract-case-stream.mjs +18 -3
- package/dist/src/connectors/grpc/contract-case-stream.mjs.map +1 -1
- package/dist/src/entities/versionString.d.ts +1 -1
- package/dist/src/entities/versionString.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package/case-connector.js +2 -2
- package/package/case-connector.js.LICENSE.txt +6 -0
- package/package/case-connector.js.map +1 -1
- package/package.json +10 -10
- package/src/connectors/grpc/contract-case-stream.mts +22 -4
- package/dist/cjs/tsconfig.557bacae.tsbuildinfo +0 -1
|
@@ -3,6 +3,7 @@ import { ContractCaseService } from '@contract-case/case-connector-proto';
|
|
|
3
3
|
import getPort from 'get-port';
|
|
4
4
|
import { contractDefinition } from './contractDefinition.js';
|
|
5
5
|
import { contractVerification } from './contractVerification.js';
|
|
6
|
+
import { makeAuthTokenInterceptor } from './authTokenInterceptor.js';
|
|
6
7
|
import { versionString } from '../../entities/versionString.js';
|
|
7
8
|
import { maintainerLog } from '../../domain/maintainerLog.js';
|
|
8
9
|
const bind = (server, host, freePort) => new Promise((resolve, reject) => {
|
|
@@ -19,11 +20,24 @@ const bind = (server, host, freePort) => new Promise((resolve, reject) => {
|
|
|
19
20
|
});
|
|
20
21
|
/**
|
|
21
22
|
* Starts a gRPC server for defining and verifying ContractCase contracts
|
|
23
|
+
*
|
|
24
|
+
* @returns the running server and the port it is listening on
|
|
22
25
|
*/
|
|
23
26
|
export function main() {
|
|
24
27
|
maintainerLog(`Starting ContractCase ${versionString}`);
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
// Only calls that present this token are accepted
|
|
29
|
+
// - see authTokenInterceptor for details
|
|
30
|
+
const authToken = process.env['CASE_CONNECTOR_TOKEN'];
|
|
31
|
+
if (authToken == null || authToken === '') {
|
|
32
|
+
// Console used here because there's nothing sensible we can do with this error
|
|
33
|
+
// eslint-disable-next-line no-console
|
|
34
|
+
console.error(`[${versionString}]`, "ContractCase's internal server requires the CASE_CONNECTOR_TOKEN environment variable to be set to an unguessable random secret, so that only the client that started the server can connect to it");
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
const server = new Server({
|
|
38
|
+
interceptors: [makeAuthTokenInterceptor(authToken)],
|
|
39
|
+
});
|
|
40
|
+
return getPort().then((freePort) => {
|
|
27
41
|
server.addService(ContractCaseService, {
|
|
28
42
|
contractDefinition,
|
|
29
43
|
contractVerification,
|
|
@@ -39,11 +53,12 @@ export function main() {
|
|
|
39
53
|
// Must have the port number after the `:`
|
|
40
54
|
// eslint-disable-next-line no-console
|
|
41
55
|
console.log('[SERVER]', `Started on port: ${port}`);
|
|
56
|
+
return { server, port };
|
|
42
57
|
}, (error) => {
|
|
43
58
|
// Console used here because there's nothing sensible we can do with this error
|
|
44
59
|
// eslint-disable-next-line no-console
|
|
45
60
|
console.error(`[${versionString}]`, `ContractCase's internal server was unable to start: ${error}`);
|
|
46
|
-
process.exit(1);
|
|
61
|
+
return process.exit(1);
|
|
47
62
|
});
|
|
48
63
|
});
|
|
49
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-case-stream.mjs","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,OAAO,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9D,MAAM,IAAI,GAAG,CACX,MAAc,EACd,IAAY,EACZ,QAAgB,EACK,EAAE,CACvB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;IACtC,aAAa,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,CACd,OAAO,EACP,iBAAiB,CAAC,cAAc,EAAE,EAClC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACd,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL
|
|
1
|
+
{"version":3,"file":"contract-case-stream.mjs","sourceRoot":"","sources":["../../../../src/connectors/grpc/contract-case-stream.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,OAAO,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9D,MAAM,IAAI,GAAG,CACX,MAAc,EACd,IAAY,EACZ,QAAgB,EACK,EAAE,CACvB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;IACtC,aAAa,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,CACd,OAAO,EACP,iBAAiB,CAAC,cAAc,EAAE,EAClC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACd,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,UAAU,IAAI;IAClB,aAAa,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;IACxD,kDAAkD;IAClD,yCAAyC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QAC1C,+EAA+E;QAC/E,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,IAAI,aAAa,GAAG,EACpB,oMAAoM,CACrM,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,YAAY,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;KACpD,CAAC,CAAC;IAEH,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE;YACrC,kBAAkB;YAClB,oBAAoB;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;aACnC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,aAAa,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;aACD,IAAI,CACH,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;YACpB,aAAa,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;YAC3D,6CAA6C;YAC7C,0CAA0C;YAC1C,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,+EAA+E;YAC/E,sCAAsC;YACtC,OAAO,CAAC,KAAK,CACX,IAAI,aAAa,GAAG,EACpB,uDAAuD,KAAK,EAAE,CAC/D,CAAC;YACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CACF,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const versionString = "case-connector@0.
|
|
1
|
+
export declare const versionString = "case-connector@0.30.0";
|
|
2
2
|
//# sourceMappingURL=versionString.d.ts.map
|