@midwayjs/mock 3.3.4 → 3.4.0-beta.10
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/client/http.js +4 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +1 -0
- package/dist/client/kafka.d.ts +7 -0
- package/dist/client/kafka.js +22 -0
- package/dist/client/rabbitMQ.d.ts +1 -1
- package/dist/creator.d.ts +9 -1
- package/dist/creator.js +188 -17
- package/package.json +14 -9
- package/ssl/ssl.key +27 -0
- package/ssl/ssl.pem +23 -0
package/dist/client/http.js
CHANGED
|
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createHttpRequest = void 0;
|
|
4
4
|
const request = require("supertest");
|
|
5
5
|
function createHttpRequest(app) {
|
|
6
|
-
if (app.
|
|
6
|
+
if (app.callback2) {
|
|
7
|
+
return request(app.callback2());
|
|
8
|
+
}
|
|
9
|
+
else if (app.callback) {
|
|
7
10
|
return request(app.callback());
|
|
8
11
|
}
|
|
9
12
|
else {
|
package/dist/client/index.d.ts
CHANGED
package/dist/client/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./http"), exports);
|
|
|
18
18
|
__exportStar(require("./rabbitMQ"), exports);
|
|
19
19
|
__exportStar(require("./socketio"), exports);
|
|
20
20
|
__exportStar(require("./ws.client"), exports);
|
|
21
|
+
__exportStar(require("./kafka"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createKafkaProducer = void 0;
|
|
4
|
+
const connect = async () => ({
|
|
5
|
+
producer: () => {
|
|
6
|
+
// connect: () => {},
|
|
7
|
+
// disconnect: () =>{}
|
|
8
|
+
},
|
|
9
|
+
cousumer: () => { },
|
|
10
|
+
});
|
|
11
|
+
async function createKafkaProducer(options = {
|
|
12
|
+
mock: true,
|
|
13
|
+
}) {
|
|
14
|
+
let { Kafka } = require('kafkajs');
|
|
15
|
+
if (options.mock) {
|
|
16
|
+
Kafka = connect;
|
|
17
|
+
}
|
|
18
|
+
const kafka = new Kafka(options.kafkaConfig);
|
|
19
|
+
return kafka.producer(options.producerConfig);
|
|
20
|
+
}
|
|
21
|
+
exports.createKafkaProducer = createKafkaProducer;
|
|
22
|
+
//# sourceMappingURL=kafka.js.map
|
package/dist/creator.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IMidwayApplication, IMidwayFramework } from '@midwayjs/core';
|
|
1
|
+
import { IMidwayApplication, IMidwayFramework, MidwayFrameworkType } from '@midwayjs/core';
|
|
2
2
|
import { ComponentModule, MockAppConfigurationOptions } from './interface';
|
|
3
3
|
export declare function create<T extends IMidwayFramework<any, any, any, any, any>>(appDir?: string, options?: MockAppConfigurationOptions, customFramework?: {
|
|
4
4
|
new (...args: any[]): T;
|
|
@@ -14,10 +14,18 @@ export declare function close<T extends IMidwayApplication<any>>(app: T, options
|
|
|
14
14
|
export declare function createFunctionApp<T extends IMidwayFramework<any, any, any, any, any>, Y = ReturnType<T['getApplication']>>(baseDir?: string, options?: MockAppConfigurationOptions, customFrameworkModule?: {
|
|
15
15
|
new (...args: any[]): T;
|
|
16
16
|
} | ComponentModule): Promise<Y>;
|
|
17
|
+
declare class BootstrapAppStarter {
|
|
18
|
+
getApp(type: MidwayFrameworkType | string): IMidwayApplication<any>;
|
|
19
|
+
close(options?: {
|
|
20
|
+
sleep?: number;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
}
|
|
17
23
|
/**
|
|
18
24
|
* Create a real project but not ready or a virtual project
|
|
19
25
|
* @param baseDir
|
|
20
26
|
* @param options
|
|
21
27
|
*/
|
|
22
28
|
export declare function createLightApp(baseDir?: string, options?: MockAppConfigurationOptions): Promise<IMidwayApplication>;
|
|
29
|
+
export declare function createBootstrap(entryFile: string): Promise<BootstrapAppStarter>;
|
|
30
|
+
export {};
|
|
23
31
|
//# sourceMappingURL=creator.d.ts.map
|
package/dist/creator.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createLightApp = exports.createFunctionApp = exports.close = exports.createApp = exports.create = void 0;
|
|
3
|
+
exports.createBootstrap = exports.createLightApp = exports.createFunctionApp = exports.close = exports.createApp = exports.create = void 0;
|
|
4
4
|
const core_1 = require("@midwayjs/core");
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const fs_extra_1 = require("fs-extra");
|
|
@@ -9,8 +9,19 @@ const logger_1 = require("@midwayjs/logger");
|
|
|
9
9
|
const utils_1 = require("./utils");
|
|
10
10
|
const util_1 = require("util");
|
|
11
11
|
const fs_1 = require("fs");
|
|
12
|
+
const yaml = require("js-yaml");
|
|
13
|
+
const getRawBody = require("raw-body");
|
|
14
|
+
const async_hooks_context_manager_1 = require("@midwayjs/async-hooks-context-manager");
|
|
12
15
|
const debug = (0, util_1.debuglog)('midway:debug');
|
|
13
16
|
process.setMaxListeners(0);
|
|
17
|
+
function formatPath(baseDir, p) {
|
|
18
|
+
if ((0, path_1.isAbsolute)(p)) {
|
|
19
|
+
return p;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return (0, path_1.resolve)(baseDir, p);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
14
25
|
async function create(appDir = process.cwd(), options, customFramework) {
|
|
15
26
|
debug(`[mock]: Create app, appDir="${appDir}"`);
|
|
16
27
|
process.env.MIDWAY_TS_MODE = 'true';
|
|
@@ -32,6 +43,30 @@ async function create(appDir = process.cwd(), options, customFramework) {
|
|
|
32
43
|
options.baseDir = `${appDir}/src`;
|
|
33
44
|
(0, core_1.safeRequire)((0, path_1.join)(`${options.baseDir}`, 'interface'));
|
|
34
45
|
}
|
|
46
|
+
if (options.entryFile) {
|
|
47
|
+
// start from entry file, like bootstrap.js
|
|
48
|
+
options.entryFile = formatPath(appDir, options.entryFile);
|
|
49
|
+
global['MIDWAY_BOOTSTRAP_APP_READY'] = false;
|
|
50
|
+
// set app in @midwayjs/bootstrap
|
|
51
|
+
require(options.entryFile);
|
|
52
|
+
await new Promise((resolve, reject) => {
|
|
53
|
+
const timeoutHandler = setTimeout(() => {
|
|
54
|
+
clearInterval(internalHandler);
|
|
55
|
+
reject(new Error('[midway]: bootstrap timeout'));
|
|
56
|
+
}, options.bootstrapTimeout || 30 * 1000);
|
|
57
|
+
const internalHandler = setInterval(() => {
|
|
58
|
+
if (global['MIDWAY_BOOTSTRAP_APP_READY'] === true) {
|
|
59
|
+
clearInterval(internalHandler);
|
|
60
|
+
clearTimeout(timeoutHandler);
|
|
61
|
+
resolve();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
debug('[mock]: bootstrap not ready and wait next check');
|
|
65
|
+
}
|
|
66
|
+
}, 200);
|
|
67
|
+
});
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
35
70
|
if (!options.imports && customFramework) {
|
|
36
71
|
options.imports = (0, utils_1.transformFrameworkToConfiguration)(customFramework);
|
|
37
72
|
}
|
|
@@ -66,6 +101,7 @@ async function create(appDir = process.cwd(), options, customFramework) {
|
|
|
66
101
|
await (0, core_1.initializeGlobalApplicationContext)({
|
|
67
102
|
...options,
|
|
68
103
|
appDir,
|
|
104
|
+
asyncContextManager: (0, async_hooks_context_manager_1.createContextManager)(),
|
|
69
105
|
imports: []
|
|
70
106
|
.concat(options.imports)
|
|
71
107
|
.concat(options.baseDir
|
|
@@ -112,25 +148,133 @@ async function close(app, options) {
|
|
|
112
148
|
}
|
|
113
149
|
exports.close = close;
|
|
114
150
|
async function createFunctionApp(baseDir = process.cwd(), options, customFrameworkModule) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
151
|
+
var _a, _b, _c;
|
|
152
|
+
let starterName;
|
|
153
|
+
if (!options.starter) {
|
|
154
|
+
// load yaml
|
|
155
|
+
try {
|
|
156
|
+
const doc = yaml.load((0, fs_1.readFileSync)((0, path_1.join)(baseDir, 'f.yml'), 'utf8'));
|
|
157
|
+
starterName = (_a = doc === null || doc === void 0 ? void 0 : doc['provider']) === null || _a === void 0 ? void 0 : _a['starter'];
|
|
158
|
+
if (starterName) {
|
|
159
|
+
const m = (0, core_1.safeRequire)(starterName);
|
|
160
|
+
if (m && m['BootstrapStarter']) {
|
|
161
|
+
options.starter = new m['BootstrapStarter']();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
124
164
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
165
|
+
catch (e) {
|
|
166
|
+
// ignore
|
|
167
|
+
console.error('[mock]: get f.yml information fail, err = ' + e.stack);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (options.starter) {
|
|
171
|
+
options.appDir = baseDir;
|
|
172
|
+
debug(`[mock]: Create app, appDir="${options.appDir}"`);
|
|
173
|
+
process.env.MIDWAY_TS_MODE = 'true';
|
|
174
|
+
// 处理测试的 fixtures
|
|
175
|
+
if (!(0, path_1.isAbsolute)(options.appDir)) {
|
|
176
|
+
options.appDir = (0, path_1.join)(process.cwd(), 'test', 'fixtures', options.appDir);
|
|
177
|
+
}
|
|
178
|
+
if (!(0, fs_1.existsSync)(options.appDir)) {
|
|
179
|
+
throw new core_1.MidwayCommonError(`Path "${options.appDir}" not exists, please check it.`);
|
|
180
|
+
}
|
|
181
|
+
(0, logger_1.clearAllLoggers)();
|
|
182
|
+
options = options || {};
|
|
183
|
+
if (options.baseDir) {
|
|
184
|
+
(0, core_1.safeRequire)((0, path_1.join)(`${options.baseDir}`, 'interface'));
|
|
185
|
+
}
|
|
186
|
+
else if (options.appDir) {
|
|
187
|
+
options.baseDir = `${options.appDir}/src`;
|
|
188
|
+
(0, core_1.safeRequire)((0, path_1.join)(`${options.baseDir}`, 'interface'));
|
|
189
|
+
}
|
|
190
|
+
// new mode
|
|
191
|
+
const exports = options.starter.start(options);
|
|
192
|
+
await exports[options.initializeMethodName || 'initializer']();
|
|
193
|
+
const appCtx = options.starter.getApplicationContext();
|
|
194
|
+
const configService = appCtx.get(core_1.MidwayConfigService);
|
|
195
|
+
const frameworkService = appCtx.get(core_1.MidwayFrameworkService);
|
|
196
|
+
const framework = frameworkService.getMainFramework();
|
|
197
|
+
const appManager = appCtx.get(core_1.MidwayApplicationManager);
|
|
198
|
+
const app = appManager.getApplication(core_1.MidwayFrameworkType.FAAS);
|
|
199
|
+
const faasConfig = (_b = configService.getConfiguration('faas')) !== null && _b !== void 0 ? _b : {};
|
|
200
|
+
const customPort = (_c = process.env.MIDWAY_HTTP_PORT) !== null && _c !== void 0 ? _c : faasConfig['port'];
|
|
201
|
+
app.callback2 = () => {
|
|
202
|
+
// mock a real http server response for local dev
|
|
203
|
+
return async (req, res) => {
|
|
204
|
+
const url = new URL(req.url, `http://${req.headers.host}`);
|
|
205
|
+
req.query = Object.fromEntries(url.searchParams);
|
|
206
|
+
req.path = url.pathname;
|
|
207
|
+
// 如果需要解析body并且body是个stream,函数网关不会接受比 10m 更大的文件了
|
|
208
|
+
if (['post', 'put', 'delete'].indexOf(req.method.toLowerCase()) !== -1 &&
|
|
209
|
+
!req.body &&
|
|
210
|
+
typeof req.on === 'function') {
|
|
211
|
+
req.body = await getRawBody(req, {
|
|
212
|
+
limit: '10mb',
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
const ctx = await framework.wrapHttpRequest(req);
|
|
216
|
+
// create event and invoke
|
|
217
|
+
const func = framework.getTriggerFunction(url.pathname);
|
|
218
|
+
const result = await func(ctx, {
|
|
219
|
+
isHttpFunction: true,
|
|
220
|
+
originEvent: req,
|
|
221
|
+
originContext: {},
|
|
222
|
+
});
|
|
223
|
+
const { statusCode, headers, body } = result;
|
|
224
|
+
if (res.headersSent) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
for (const key in headers) {
|
|
228
|
+
res.setHeader(key, headers[key]);
|
|
229
|
+
}
|
|
230
|
+
if (res.statusCode !== statusCode) {
|
|
231
|
+
res.statusCode = statusCode;
|
|
232
|
+
}
|
|
233
|
+
// http trigger only support `Buffer` or a `string` or a `stream.Readable`
|
|
234
|
+
res.end(body);
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
if (customPort) {
|
|
238
|
+
await new Promise(resolve => {
|
|
239
|
+
let server;
|
|
240
|
+
if (options.ssl) {
|
|
241
|
+
server = require('https').createServer({
|
|
242
|
+
key: (0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../ssl/ssl.key'), 'utf8'),
|
|
243
|
+
cert: (0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../ssl/ssl.pem'), 'utf8'),
|
|
244
|
+
}, app.callback2());
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
server = require('http').createServer(app.callback2());
|
|
248
|
+
}
|
|
249
|
+
server.listen(customPort);
|
|
250
|
+
process.env.MIDWAY_HTTP_PORT = String(customPort);
|
|
251
|
+
app.server = server;
|
|
252
|
+
resolve();
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
return app;
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
const customFramework = customFrameworkModule !== null && customFrameworkModule !== void 0 ? customFrameworkModule : (0, utils_1.findFirstExistModule)([
|
|
259
|
+
process.env.MIDWAY_SERVERLESS_APP_NAME,
|
|
260
|
+
'@ali/serverless-app',
|
|
261
|
+
'@midwayjs/serverless-app',
|
|
262
|
+
]);
|
|
263
|
+
const serverlessModule = (0, utils_1.transformFrameworkToConfiguration)(customFramework);
|
|
264
|
+
if (serverlessModule) {
|
|
265
|
+
if (options && options.imports) {
|
|
266
|
+
options.imports.unshift(serverlessModule);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
options = options || {};
|
|
270
|
+
options.imports = [serverlessModule];
|
|
271
|
+
}
|
|
128
272
|
}
|
|
273
|
+
const framework = await createApp(baseDir, options);
|
|
274
|
+
const appCtx = framework.getApplicationContext();
|
|
275
|
+
const appManager = appCtx.get(core_1.MidwayApplicationManager);
|
|
276
|
+
return appManager.getApplication(core_1.MidwayFrameworkType.SERVERLESS_APP);
|
|
129
277
|
}
|
|
130
|
-
const framework = await createApp(baseDir, options);
|
|
131
|
-
const appCtx = framework.getApplicationContext();
|
|
132
|
-
const appManager = appCtx.get(core_1.MidwayApplicationManager);
|
|
133
|
-
return appManager.getApplication(core_1.MidwayFrameworkType.SERVERLESS_APP);
|
|
134
278
|
}
|
|
135
279
|
exports.createFunctionApp = createFunctionApp;
|
|
136
280
|
/**
|
|
@@ -152,6 +296,26 @@ class LightFramework extends core_1.BaseFramework {
|
|
|
152
296
|
return 'lightFramework';
|
|
153
297
|
}
|
|
154
298
|
}
|
|
299
|
+
class BootstrapAppStarter {
|
|
300
|
+
getApp(type) {
|
|
301
|
+
const applicationContext = (0, core_1.getCurrentApplicationContext)();
|
|
302
|
+
const applicationManager = applicationContext.get(core_1.MidwayApplicationManager);
|
|
303
|
+
return applicationManager.getApplication(type);
|
|
304
|
+
}
|
|
305
|
+
async close(options = {}) {
|
|
306
|
+
// eslint-disable-next-line node/no-extraneous-require
|
|
307
|
+
const BootstrapModule = (0, core_1.safeRequire)('@midwayjs/bootstrap');
|
|
308
|
+
if (BootstrapModule === null || BootstrapModule === void 0 ? void 0 : BootstrapModule.Bootstrap) {
|
|
309
|
+
await BootstrapModule.Bootstrap.stop();
|
|
310
|
+
}
|
|
311
|
+
if (options.sleep > 0) {
|
|
312
|
+
await (0, decorator_1.sleep)(options.sleep);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
await (0, decorator_1.sleep)(50);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
155
319
|
/**
|
|
156
320
|
* Create a real project but not ready or a virtual project
|
|
157
321
|
* @param baseDir
|
|
@@ -174,4 +338,11 @@ async function createLightApp(baseDir = '', options = {}) {
|
|
|
174
338
|
});
|
|
175
339
|
}
|
|
176
340
|
exports.createLightApp = createLightApp;
|
|
341
|
+
async function createBootstrap(entryFile) {
|
|
342
|
+
await create(undefined, {
|
|
343
|
+
entryFile,
|
|
344
|
+
});
|
|
345
|
+
return new BootstrapAppStarter();
|
|
346
|
+
}
|
|
347
|
+
exports.createBootstrap = createBootstrap;
|
|
177
348
|
//# sourceMappingURL=creator.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midwayjs/mock",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0-beta.10",
|
|
4
4
|
"description": "create your test app from midway framework",
|
|
5
5
|
"main": "dist/index",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -19,31 +19,36 @@
|
|
|
19
19
|
],
|
|
20
20
|
"files": [
|
|
21
21
|
"dist/**/*.js",
|
|
22
|
-
"dist/**/*.d.ts"
|
|
22
|
+
"dist/**/*.d.ts",
|
|
23
|
+
"ssl"
|
|
23
24
|
],
|
|
24
25
|
"engines": {
|
|
25
26
|
"node": ">=12"
|
|
26
27
|
},
|
|
27
28
|
"license": "MIT",
|
|
28
29
|
"devDependencies": {
|
|
29
|
-
"@midwayjs/core": "^3.
|
|
30
|
-
"@midwayjs/decorator": "^3.
|
|
30
|
+
"@midwayjs/core": "^3.4.0-beta.10",
|
|
31
|
+
"@midwayjs/decorator": "^3.4.0-beta.10",
|
|
31
32
|
"@midwayjs/logger": "^2.15.0",
|
|
32
33
|
"@types/amqplib": "0.8.2",
|
|
33
|
-
"amqplib": "0.
|
|
34
|
+
"amqplib": "0.10.0",
|
|
35
|
+
"kafkajs": "1.16.0",
|
|
34
36
|
"socket.io": "4.4.1",
|
|
35
37
|
"socket.io-client": "4.4.1",
|
|
36
|
-
"ws": "8.
|
|
38
|
+
"ws": "8.8.1"
|
|
37
39
|
},
|
|
38
40
|
"dependencies": {
|
|
39
|
-
"@
|
|
41
|
+
"@midwayjs/async-hooks-context-manager": "^3.4.0-beta.10",
|
|
42
|
+
"@types/supertest": "2.0.12",
|
|
40
43
|
"fs-extra": "10.0.1",
|
|
41
|
-
"
|
|
44
|
+
"js-yaml": "4.1.0",
|
|
45
|
+
"raw-body": "2.5.1",
|
|
46
|
+
"supertest": "6.2.4"
|
|
42
47
|
},
|
|
43
48
|
"author": "Harry Chen <czy88840616@gmail.com>",
|
|
44
49
|
"repository": {
|
|
45
50
|
"type": "git",
|
|
46
51
|
"url": "http://github.com/midwayjs/midway.git"
|
|
47
52
|
},
|
|
48
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "560a5fa311605e4008c55f31c31bc4e12eeff2a5"
|
|
49
54
|
}
|
package/ssl/ssl.key
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEpAIBAAKCAQEAwYgqylPquhc3d5E75sLxUs7jhxuIfMztx3H449KC7kT9+ukS
|
|
3
|
+
bdB/IqwRcLgB/n2V4+pkEjOHG2K/ErHkaOdw7L4tf8wNLMSUbCNlppYcZ6EGuSWN
|
|
4
|
+
V80GZREFifKu+Q3jMEX3K96lS5pmBoYQHr2iqejtb1bmN9yeeI4FuOlm+hHc6zBD
|
|
5
|
+
87rABjxgITybxDt+wffbfqSkjBrQCDjqeNn6m5n5OmO1lBdn6fAOJe7krp9bG4Mq
|
|
6
|
+
Z32Zo/anqEq60KjfuCFvp03CU8MOBbEYGxMtfUMooEQatEuiTTx03vkYbmg6ymGq
|
|
7
|
+
9g8YQCHcL0nel/+aCx0CU7ALo4OCX8k+Wxk76QIDAQABAoIBAAKy9XXQ6csim8Ft
|
|
8
|
+
Ixq6yUbQX9f4iFTFPuOzMTdsLitIhwpCyeECMWO4Zp3d0xlLgxWkpTSjx1SYcfW+
|
|
9
|
+
yWK1J5wFovjPTbe8Hh3L+JT0Lv06/68BWRFKaLZsIFmmKs6KZQq9Tw8rkb6WLqoU
|
|
10
|
+
oJDtMCGSgA03dwp8ZzFjOa00hB0ksF8LFJtf1kDAbUu9NF6hI738pKhZ/nmdglpy
|
|
11
|
+
9csHopZRqmfisGAukQcTbppJ+m4+QZh7nq8tWGnkvBxfABJy9oAm18SZgDU6yUGA
|
|
12
|
+
Mxx4tuUDmdmKZxtKuktvJoX0sYwid2DoKPwDNr8N+CRR3zm9p1SFt031LT2GJOfx
|
|
13
|
+
qlns7QECgYEA/bGOOYyLGvBSGQOnq4YzQjb+4mw6DWbMfssFg9k3udzGZPQYD1fD
|
|
14
|
+
bL71/Xym7zct1x/ECGVejyPSrCG8mF5zmiIEK5uLmYQzBZeEcoQTQMG7nR7+pIaL
|
|
15
|
+
l915wct0HMY8lfXGXQ845rpRRQIvMV88KYD8SjGJselCVgZ8ZwQbeTECgYEAw0qX
|
|
16
|
+
fsrF4EyfM3aCbBZlroDIDqPhHbJ5damBwe9WvI6UovcBEqprK3FuHIDJKGFnekDe
|
|
17
|
+
LP0SRYg4tTGoVrJWncgnXxcqr5u/gwdBM6+yPOninIz22xiCiY0LiMDVOiogk6QA
|
|
18
|
+
Ko/0OvhzRDB2HM4VfEEDFBfujr938y+v6NHfQDkCgYEA9BnrIn6TvmjsZbs5kvX+
|
|
19
|
+
zkCCgbTnKsv2Ci4o8VOJpiHDF5IysFie5jzcDnrpWRU721lqUzXOhWZPqGaRw/5l
|
|
20
|
+
tzHx10/ERAOK4F+JBnME33NJpYYUOJRpLsfhBtJPt/wagaRJqHMkKgWuevr+E8Bx
|
|
21
|
+
7/F3T6BYwEIUHRgCjVDLapECgYEAkkXJaNd6FIFvcL1f/JNd/7FHpueKUpL+NGoM
|
|
22
|
+
3XRl0/87R0CY1iE8+iIQplqz0IH8Xm49uxamW9wnFVgnTSBwjed/zdJtT3DppbuG
|
|
23
|
+
U69SYhuQd0+CCiK2i05QiFJeox0wn0TkNvzxokW7GCTwIq0dHJ8ZLjCqptK0hjp+
|
|
24
|
+
mHSxsckCgYBm/UjNqszQhFr84T3KHZqHr/A/057NlzEILek4Z8QRnlsO26RYVnUI
|
|
25
|
+
u/a1E0ZLltD31J9gtR3TuBvbRdphHsHMDf0Jz5wh0h2WCeJ0UcjrspWS6oD0eNI3
|
|
26
|
+
dRHiMGdYq3Toz8cmi1AQl63P2f3ICFSVW6d4cA6rOIwBGAB3fX8xKw==
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
package/ssl/ssl.pem
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDzDCCArSgAwIBAgIQLIM+LwmyRiGVIJqA5gR0/TANBgkqhkiG9w0BAQsFADBe
|
|
3
|
+
MQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl
|
|
4
|
+
c3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe
|
|
5
|
+
Fw0yMTA3MTUxMDAyNDhaFw0yNjA3MTQxMDAyNDhaMBsxCzAJBgNVBAYTAkNOMQww
|
|
6
|
+
CgYDVQQDDAMqLiowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBiCrK
|
|
7
|
+
U+q6Fzd3kTvmwvFSzuOHG4h8zO3Hcfjj0oLuRP366RJt0H8irBFwuAH+fZXj6mQS
|
|
8
|
+
M4cbYr8SseRo53Dsvi1/zA0sxJRsI2WmlhxnoQa5JY1XzQZlEQWJ8q75DeMwRfcr
|
|
9
|
+
3qVLmmYGhhAevaKp6O1vVuY33J54jgW46Wb6EdzrMEPzusAGPGAhPJvEO37B99t+
|
|
10
|
+
pKSMGtAIOOp42fqbmfk6Y7WUF2fp8A4l7uSun1sbgypnfZmj9qeoSrrQqN+4IW+n
|
|
11
|
+
TcJTww4FsRgbEy19QyigRBq0S6JNPHTe+RhuaDrKYar2DxhAIdwvSd6X/5oLHQJT
|
|
12
|
+
sAujg4JfyT5bGTvpAgMBAAGjgcgwgcUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQW
|
|
13
|
+
MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQogSYF0TQaP8FzD7uT
|
|
14
|
+
zxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYBBQUHMAGGFWh0dHA6Ly9vY3Nw
|
|
15
|
+
Lm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDovL2NhLm15c3NsLmNvbS9teXNz
|
|
16
|
+
bHRlc3Ryc2EuY3J0MA4GA1UdEQQHMAWCAyouKjANBgkqhkiG9w0BAQsFAAOCAQEA
|
|
17
|
+
czI451YuJJFtHZOsZxQieC8ptBVTPrZA8Heg/eDc8yN3wwSt3+Y7/WKoUtteh1r6
|
|
18
|
+
Z+LK75+OYu4zsocyS5eXRIan9BZryuz6CW7aq/2CnsQbmISR5LsBw1pMqFXnM6Im
|
|
19
|
+
CJCTOB3a4rhp7BiJ7WO0dfBCugJe92dhMnXd4GW8lwwaUmz0ULLIqdcNR4gT0FRl
|
|
20
|
+
c9yUSkksPJLP2bSRvKDZhn+CVUnQWmWf91EqMGPlnCYsQ/0NYtKUrhH5O2TrNeLu
|
|
21
|
+
eBpVEQxzMkrxvDFkDQVLi3/lvfLFJzDws3wRMNT+llCQ9VpEJJ2G8halGL1nJlZN
|
|
22
|
+
mGVxt9xF9c18LZTCNamHGA==
|
|
23
|
+
-----END CERTIFICATE-----
|