@stackbit/dev 0.0.8 → 0.0.9
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/assets/loading-page.html +5 -1
- package/dist/runner/index.d.ts +1 -1
- package/dist/runner/index.js +11 -10
- package/dist/runner/index.js.map +1 -1
- package/dist/server/index.js +6 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/proxy.d.ts +2 -1
- package/dist/server/proxy.js +1 -3
- package/dist/server/proxy.js.map +1 -1
- package/package.json +3 -3
- package/src/assets/loading-page.html +5 -1
- package/src/runner/index.ts +12 -11
- package/src/server/index.ts +9 -5
- package/src/server/proxy.ts +2 -4
|
@@ -43,7 +43,11 @@
|
|
|
43
43
|
<script type="application/javascript">
|
|
44
44
|
function poll() {
|
|
45
45
|
fetch('/', { method: 'HEAD' }).then((response) => {
|
|
46
|
-
|
|
46
|
+
if (response.status === 504) {
|
|
47
|
+
window.setTimeout(poll, 1000);
|
|
48
|
+
} else {
|
|
49
|
+
window.location = "__PATH__";
|
|
50
|
+
}
|
|
47
51
|
}).catch(err => {
|
|
48
52
|
window.setTimeout(poll, 1000);
|
|
49
53
|
})
|
package/dist/runner/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export default class Runner {
|
|
|
11
11
|
runnableDir?: string;
|
|
12
12
|
});
|
|
13
13
|
install(): Promise<void>;
|
|
14
|
-
handleFileChanges(filePaths: string[]): void
|
|
14
|
+
handleFileChanges(filePaths: string[]): Promise<void>;
|
|
15
15
|
getDirectPaths(): string[];
|
|
16
16
|
/**
|
|
17
17
|
* Function retuning a map or a function that rewrites direct proxy requests.
|
package/dist/runner/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const editor_1 = __importDefault(require("@stackbit/dev-common/dist/runner/edito
|
|
|
10
10
|
const git_1 = __importDefault(require("@stackbit/dev-common/dist/cms/git"));
|
|
11
11
|
const worker_1 = __importDefault(require("@stackbit/dev-common/dist/utils/worker"));
|
|
12
12
|
const stackbit_yaml_1 = require("@stackbit/dev-common/dist/services/stackbit-yaml");
|
|
13
|
+
const socket_service_1 = __importDefault(require("@stackbit/dev-common/dist/services/socket-service"));
|
|
13
14
|
const file_watcher_1 = require("../services/file-watcher");
|
|
14
15
|
const logger_1 = __importDefault(require("../services/logger"));
|
|
15
16
|
const consts_1 = __importDefault(require("../consts"));
|
|
@@ -54,22 +55,22 @@ class Runner {
|
|
|
54
55
|
});
|
|
55
56
|
this.watcher = (0, file_watcher_1.watchDir)(this.rootDir, (filePaths) => {
|
|
56
57
|
logger_1.default.debug(`File change detected: ${filePaths}`);
|
|
57
|
-
this.handleFileChanges(filePaths)
|
|
58
|
+
this.handleFileChanges(filePaths).catch((err) => {
|
|
59
|
+
logger_1.default.error('Error handling file changes: ' + filePaths.join(', '));
|
|
60
|
+
});
|
|
58
61
|
});
|
|
59
62
|
}
|
|
60
|
-
handleFileChanges(filePaths) {
|
|
61
|
-
this.cms.postPull(filePaths.map((filePath) => path_1.default.join(this.rootDir, filePath))).catch((err) => {
|
|
63
|
+
async handleFileChanges(filePaths) {
|
|
64
|
+
const pullResult = await this.cms.postPull(filePaths.map((filePath) => path_1.default.join(this.rootDir, filePath))).catch((err) => {
|
|
62
65
|
logger_1.default.debug('Error in postPull', { err });
|
|
66
|
+
throw err;
|
|
63
67
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
this.stackbitYaml.load().catch((err) => {
|
|
68
|
+
if (pullResult === null || pullResult === void 0 ? void 0 : pullResult.schemaChanged) {
|
|
69
|
+
await this.stackbitYaml.load().catch((err) => {
|
|
69
70
|
logger_1.default.debug('Error handling stackbit.yaml change', { err });
|
|
70
71
|
logger_1.default.error('Error reloading stackbit.yaml');
|
|
71
72
|
});
|
|
72
|
-
|
|
73
|
+
socket_service_1.default.notifySchemaChange();
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
getDirectPaths() {
|
|
@@ -94,7 +95,7 @@ class Runner {
|
|
|
94
95
|
}
|
|
95
96
|
async getObjectsWithAnnotations(annotationTree = null, clientAnnotationErrors = []) {
|
|
96
97
|
var _a;
|
|
97
|
-
const result = this.editor.getObjectsWithAnnotations(annotationTree);
|
|
98
|
+
const result = await this.editor.getObjectsWithAnnotations(annotationTree);
|
|
98
99
|
lodash_1.default.forEach([...((_a = result.errors) !== null && _a !== void 0 ? _a : []), ...clientAnnotationErrors], (error) => {
|
|
99
100
|
const errorProps = lodash_1.default.omit(error, ['type', 'message']);
|
|
100
101
|
logger_1.default.error(`${error.message} ${lodash_1.default.map(errorProps, (val, key) => `${key}:'${val && val.toString ? val.toString() : val}'`).join(', ')}`);
|
package/dist/runner/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AACvB,gDAAwB;AACxB,gDAAwB;AACxB,qFAA6D;AAC7D,4EAAuD;AACvD,oFAA4D;AAC5D,oFAAgF;AAChF,2DAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runner/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -14,14 +14,16 @@ const runner_1 = __importDefault(require("../runner"));
|
|
|
14
14
|
const consts_1 = __importDefault(require("../consts"));
|
|
15
15
|
const socket_service_1 = __importDefault(require("@stackbit/dev-common/dist/services/socket-service"));
|
|
16
16
|
async function start({ serverPort, ssgPort, ssgHost, rootDir, runnableDir, uuid }) {
|
|
17
|
-
|
|
18
|
-
const httpServer = http_1.default.createServer(server);
|
|
19
|
-
socket_service_1.default.use(httpServer, logger_1.default);
|
|
17
|
+
logger_1.default.debug('Runner init...');
|
|
20
18
|
const runner = new runner_1.default({
|
|
21
19
|
rootDir,
|
|
22
20
|
runnableDir
|
|
23
21
|
});
|
|
24
22
|
await runner.install();
|
|
23
|
+
logger_1.default.debug('Done runner init');
|
|
24
|
+
const server = (0, express_1.default)();
|
|
25
|
+
const httpServer = http_1.default.createServer(server);
|
|
26
|
+
socket_service_1.default.use(httpServer, logger_1.default);
|
|
25
27
|
server.use(require('cors')());
|
|
26
28
|
// if (config.setContentSecurityPolicy) {
|
|
27
29
|
// server.use((req, res, next) => {
|
|
@@ -39,7 +41,7 @@ async function start({ serverPort, ssgPort, ssgHost, rootDir, runnableDir, uuid
|
|
|
39
41
|
server.use(consts_1.default.STATIC_ASSETS_PUBLIC_PATH, express_1.default.static(path_1.default.join(rootDir, consts_1.default.STATIC_ASSETS_FILE_PATH)));
|
|
40
42
|
server.use(consts_1.default.STATIC_THEME_ASSETS_PUBLIC_PATH, express_1.default.static(path_1.default.join(rootDir, consts_1.default.STATIC_THEME_ASSETS_FILE_PATH)));
|
|
41
43
|
(0, routes_1.default)(server, runner, uuid);
|
|
42
|
-
|
|
44
|
+
(0, proxy_1.default)(server, ssgHost, ssgPort, runner);
|
|
43
45
|
return new Promise((resolve, reject) => {
|
|
44
46
|
httpServer.listen(serverPort, () => {
|
|
45
47
|
logger_1.default.debug('Server running on port ' + serverPort);
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,sDAA8B;AAC9B,gDAAwB;AAExB,gEAAwC;AAExC,sDAA8B;AAC9B,oDAA4B;AAC5B,uDAA+B;AAC/B,uDAA+B;AAC/B,uGAA8E;AAEvE,KAAK,UAAU,KAAK,CAAC,EACxB,UAAU,EACV,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAI,EAQP;IACG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AACxB,sDAA8B;AAC9B,gDAAwB;AAExB,gEAAwC;AAExC,sDAA8B;AAC9B,oDAA4B;AAC5B,uDAA+B;AAC/B,uDAA+B;AAC/B,uGAA8E;AAEvE,KAAK,UAAU,KAAK,CAAC,EACxB,UAAU,EACV,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAI,EAQP;IACG,gBAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACtB,OAAO;QACP,WAAW;KACd,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAEvB,gBAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,IAAA,iBAAO,GAAE,CAAC;IACzB,MAAM,UAAU,GAAG,cAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,wBAAa,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAM,CAAC,CAAC;IAEtC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,yCAAyC;IACzC,uCAAuC;IACvC,8DAA8D;IAC9D,iFAAiF;IACjF,kBAAkB;IAClB,UAAU;IACV,IAAI;IAEJ,eAAe;IACf,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1B,gBAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1I,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,gBAAM,CAAC,yBAAyB,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACjH,MAAM,CAAC,GAAG,CAAC,gBAAM,CAAC,+BAA+B,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;IAE7H,IAAA,gBAAM,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAA,eAAK,EAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/B,gBAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAzDD,sBAyDC"}
|
package/dist/server/proxy.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import express, { Router } from 'express';
|
|
1
2
|
import Runner from '../runner';
|
|
2
|
-
export default function proxyMiddleware(ssgHost: string, ssgPort: number, runner: Runner):
|
|
3
|
+
export default function proxyMiddleware(router: Router, ssgHost: string, ssgPort: number, runner: Runner): express.Router;
|
package/dist/server/proxy.js
CHANGED
|
@@ -5,16 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const express_1 = __importDefault(require("express"));
|
|
9
8
|
const http_proxy_middleware_1 = __importDefault(require("http-proxy-middleware"));
|
|
10
9
|
const logger_1 = __importDefault(require("../services/logger"));
|
|
11
10
|
const consts_1 = __importDefault(require("../consts"));
|
|
12
11
|
const proxy_utils_1 = require("@stackbit/dev-common/dist/utils/proxy-utils");
|
|
13
12
|
const pages_1 = require("@stackbit/dev-common/dist/utils/pages");
|
|
14
13
|
const config_1 = __importDefault(require("../config"));
|
|
15
|
-
function proxyMiddleware(ssgHost, ssgPort, runner) {
|
|
14
|
+
function proxyMiddleware(router, ssgHost, ssgPort, runner) {
|
|
16
15
|
var _a;
|
|
17
|
-
const router = express_1.default.Router();
|
|
18
16
|
router.use((req, res, next) => {
|
|
19
17
|
lodash_1.default.unset(req, 'headers.x-forwarded-proto');
|
|
20
18
|
const rawHeaders = lodash_1.default.get(req, 'rawHeaders');
|
package/dist/server/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/server/proxy.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AACvB,gDAAwB;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/server/proxy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackbit/dev",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "stackbit-dev",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@stackbit/cms-core": "^0.0.7",
|
|
26
|
-
"@stackbit/dev-common": "^0.0.
|
|
26
|
+
"@stackbit/dev-common": "^0.0.9",
|
|
27
27
|
"@stackbit/sdk": "^0.2.22",
|
|
28
28
|
"axios": "^0.25.0",
|
|
29
29
|
"chalk": "^4.1.0",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"ts-jest": "^27.1.3",
|
|
55
55
|
"typescript": "^4.5.4"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "08dc9beff90a22d36c20b77923fc94c3808e01e4"
|
|
58
58
|
}
|
|
@@ -43,7 +43,11 @@
|
|
|
43
43
|
<script type="application/javascript">
|
|
44
44
|
function poll() {
|
|
45
45
|
fetch('/', { method: 'HEAD' }).then((response) => {
|
|
46
|
-
|
|
46
|
+
if (response.status === 504) {
|
|
47
|
+
window.setTimeout(poll, 1000);
|
|
48
|
+
} else {
|
|
49
|
+
window.location = "__PATH__";
|
|
50
|
+
}
|
|
47
51
|
}).catch(err => {
|
|
48
52
|
window.setTimeout(poll, 1000);
|
|
49
53
|
})
|
package/src/runner/index.ts
CHANGED
|
@@ -5,8 +5,9 @@ import Editor from '@stackbit/dev-common/dist/runner/editor';
|
|
|
5
5
|
import GitCMS from '@stackbit/dev-common/dist/cms/git';
|
|
6
6
|
import Worker from '@stackbit/dev-common/dist/utils/worker';
|
|
7
7
|
import { StackbitYaml } from '@stackbit/dev-common/dist/services/stackbit-yaml';
|
|
8
|
-
import
|
|
8
|
+
import socketService from '@stackbit/dev-common/dist/services/socket-service';
|
|
9
9
|
|
|
10
|
+
import { watchDir } from '../services/file-watcher';
|
|
10
11
|
import logger from '../services/logger';
|
|
11
12
|
import consts from '../consts';
|
|
12
13
|
|
|
@@ -61,23 +62,23 @@ export default class Runner {
|
|
|
61
62
|
});
|
|
62
63
|
this.watcher = watchDir(this.rootDir, (filePaths) => {
|
|
63
64
|
logger.debug(`File change detected: ${filePaths}`);
|
|
64
|
-
this.handleFileChanges(filePaths)
|
|
65
|
+
this.handleFileChanges(filePaths).catch((err) => {
|
|
66
|
+
logger.error('Error handling file changes: ' + filePaths.join(', '));
|
|
67
|
+
});
|
|
65
68
|
});
|
|
66
69
|
}
|
|
67
70
|
|
|
68
|
-
handleFileChanges(filePaths: string[]) {
|
|
69
|
-
this.cms.postPull(filePaths.map((filePath) => path.join(this.rootDir, filePath))).catch((err: any) => {
|
|
71
|
+
async handleFileChanges(filePaths: string[]) {
|
|
72
|
+
const pullResult = await this.cms.postPull(filePaths.map((filePath) => path.join(this.rootDir, filePath))).catch((err: any) => {
|
|
70
73
|
logger.debug('Error in postPull', { err });
|
|
74
|
+
throw err;
|
|
71
75
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
this.stackbitYaml.load().catch((err: any) => {
|
|
76
|
+
if (pullResult?.schemaChanged) {
|
|
77
|
+
await this.stackbitYaml.load().catch((err: any) => {
|
|
77
78
|
logger.debug('Error handling stackbit.yaml change', { err });
|
|
78
79
|
logger.error('Error reloading stackbit.yaml');
|
|
79
80
|
});
|
|
80
|
-
|
|
81
|
+
socketService.notifySchemaChange();
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
|
|
@@ -107,7 +108,7 @@ export default class Runner {
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
async getObjectsWithAnnotations(annotationTree = null, clientAnnotationErrors = []) {
|
|
110
|
-
const result = this.editor.getObjectsWithAnnotations(annotationTree);
|
|
111
|
+
const result = await this.editor.getObjectsWithAnnotations(annotationTree);
|
|
111
112
|
_.forEach([...(result.errors ?? []), ...clientAnnotationErrors], (error) => {
|
|
112
113
|
const errorProps = _.omit(error, ['type', 'message']);
|
|
113
114
|
logger.error(`${error.message} ${_.map(errorProps, (val, key) => `${key}:'${val && val.toString ? val.toString() : val}'`).join(', ')}`);
|
package/src/server/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _
|
|
1
|
+
import _ from 'lodash';
|
|
2
2
|
import http from 'http';
|
|
3
3
|
import express from 'express';
|
|
4
4
|
import path from 'path';
|
|
@@ -26,9 +26,7 @@ export async function start({
|
|
|
26
26
|
runnableDir?: string;
|
|
27
27
|
uuid: string;
|
|
28
28
|
}) {
|
|
29
|
-
|
|
30
|
-
const httpServer = http.createServer(server);
|
|
31
|
-
socketService.use(httpServer, logger);
|
|
29
|
+
logger.debug('Runner init...');
|
|
32
30
|
|
|
33
31
|
const runner = new Runner({
|
|
34
32
|
rootDir,
|
|
@@ -36,6 +34,12 @@ export async function start({
|
|
|
36
34
|
});
|
|
37
35
|
await runner.install();
|
|
38
36
|
|
|
37
|
+
logger.debug('Done runner init');
|
|
38
|
+
|
|
39
|
+
const server = express();
|
|
40
|
+
const httpServer = http.createServer(server);
|
|
41
|
+
socketService.use(httpServer, logger);
|
|
42
|
+
|
|
39
43
|
server.use(require('cors')());
|
|
40
44
|
// if (config.setContentSecurityPolicy) {
|
|
41
45
|
// server.use((req, res, next) => {
|
|
@@ -56,7 +60,7 @@ export async function start({
|
|
|
56
60
|
server.use(consts.STATIC_THEME_ASSETS_PUBLIC_PATH, express.static(path.join(rootDir, consts.STATIC_THEME_ASSETS_FILE_PATH)));
|
|
57
61
|
|
|
58
62
|
routes(server, runner, uuid);
|
|
59
|
-
|
|
63
|
+
proxy(server, ssgHost, ssgPort, runner);
|
|
60
64
|
|
|
61
65
|
return new Promise<void>((resolve, reject) => {
|
|
62
66
|
httpServer.listen(serverPort, () => {
|
package/src/server/proxy.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import express, { Request } from 'express';
|
|
3
|
+
import express, { Request, Router } from 'express';
|
|
4
4
|
import proxy from 'http-proxy-middleware';
|
|
5
5
|
import logger from '../services/logger';
|
|
6
6
|
import consts from '../consts';
|
|
@@ -9,9 +9,7 @@ import { renderLoadingPage } from '@stackbit/dev-common/dist/utils/pages';
|
|
|
9
9
|
import config from '../config';
|
|
10
10
|
import Runner from '../runner';
|
|
11
11
|
|
|
12
|
-
export default function proxyMiddleware(ssgHost: string, ssgPort: number, runner: Runner) {
|
|
13
|
-
const router = express.Router();
|
|
14
|
-
|
|
12
|
+
export default function proxyMiddleware(router: Router, ssgHost: string, ssgPort: number, runner: Runner) {
|
|
15
13
|
router.use((req, res, next) => {
|
|
16
14
|
_.unset(req, 'headers.x-forwarded-proto');
|
|
17
15
|
const rawHeaders = _.get(req, 'rawHeaders');
|