rasengan 1.0.0-beta.27 → 1.0.0-beta.29
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/lib/esm/index.js +1 -1
- package/lib/esm/server/functions/netlify/functions/api.js +36 -22
- package/lib/esm/server/functions/vercel/api/index.js +53 -26
- package/lib/esm/server/utils/handleRequest.js +97 -38
- package/lib/types/index.d.ts +1 -1
- package/lib/types/server/utils/handleRequest.d.ts +1 -1
- package/package.json +1 -1
package/lib/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Imports
|
|
2
2
|
import createFetchRequest from "./server/utils/createFetchRequest.js";
|
|
3
|
-
import handleRequest from "./server/utils/handleRequest.js";
|
|
3
|
+
import { handleRequest } from "./server/utils/handleRequest.js";
|
|
4
4
|
// Exports
|
|
5
5
|
// export * from "./decorators/index.js";
|
|
6
6
|
export * from "./core/index.js";
|
|
@@ -45,37 +45,36 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
45
45
|
};
|
|
46
46
|
import fs from "node:fs/promises";
|
|
47
47
|
import fsSync from "node:fs";
|
|
48
|
-
import path, { join
|
|
49
|
-
import { fileURLToPath } from "node:url";
|
|
48
|
+
import path, { join } from "node:path";
|
|
50
49
|
import { createStaticHandler, createStaticRouter, } from "react-router-dom/server.js";
|
|
51
50
|
// @ts-ignore
|
|
52
51
|
import { createFetchRequest } from "rasengan";
|
|
52
|
+
// // @ts-ignore
|
|
53
|
+
// import { handleRequest } from "rasengan";
|
|
54
|
+
// // @ts-ignore
|
|
55
|
+
// import type { Context } from "@netlify/functions"
|
|
53
56
|
export default (function (req, context) { return __awaiter(void 0, void 0, void 0, function () {
|
|
54
|
-
var
|
|
57
|
+
var url, host, appPath, err_1, segments, segmentsWithoutOrigin, _i, segments_1, segment, filePath, file, file, templateHtml, serverFilePath, bootstrapDirPath, entry, bootstrap, styles, render, staticRoutes, loadTemplateHtml, handler, fetchRequest, context_1, status_1, redirect, helmetContext, router, rendered, html, e_1;
|
|
55
58
|
var _a;
|
|
56
59
|
return __generator(this, function (_b) {
|
|
57
60
|
switch (_b.label) {
|
|
58
61
|
case 0:
|
|
59
|
-
|
|
60
|
-
__dirname = dirname(__filename);
|
|
61
|
-
_b.label = 1;
|
|
62
|
-
case 1:
|
|
63
|
-
_b.trys.push([1, 11, , 12]);
|
|
62
|
+
_b.trys.push([0, 12, , 13]);
|
|
64
63
|
url = req.url;
|
|
65
64
|
host = req.headers.get("host");
|
|
66
65
|
appPath = process.cwd();
|
|
67
|
-
if (!(url === "/robots.txt")) return [3 /*break*/,
|
|
68
|
-
_b.label =
|
|
69
|
-
case
|
|
70
|
-
_b.trys.push([
|
|
66
|
+
if (!(url === "/robots.txt")) return [3 /*break*/, 4];
|
|
67
|
+
_b.label = 1;
|
|
68
|
+
case 1:
|
|
69
|
+
_b.trys.push([1, 3, , 4]);
|
|
71
70
|
return [4 /*yield*/, fs.access(path.resolve(join(appPath, "dist/client/robots.txt")))];
|
|
72
|
-
case
|
|
71
|
+
case 2:
|
|
73
72
|
_b.sent();
|
|
74
73
|
return [2 /*return*/, new Response(path.resolve(join(appPath, "dist/client/robots.txt")))];
|
|
75
|
-
case
|
|
74
|
+
case 3:
|
|
76
75
|
err_1 = _b.sent();
|
|
77
76
|
return [2 /*return*/, new Response("\n user-agent: *\n disallow: /downloads/\n disallow: /private/\n allow: /\n \n user-agent: magicsearchbot\n disallow: /uploads/\n ")];
|
|
78
|
-
case
|
|
77
|
+
case 4:
|
|
79
78
|
// ! Sitemap Fix
|
|
80
79
|
if (url === "/sitemap.xml") {
|
|
81
80
|
return [2 /*return*/, new Response(path.resolve(join(appPath, "dist/client/sitemap.xml")))];
|
|
@@ -84,7 +83,7 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
84
83
|
if (url === "/manifest.json") {
|
|
85
84
|
return [2 /*return*/, new Response(path.resolve(join(appPath, "dist/client/manifest.json")))];
|
|
86
85
|
}
|
|
87
|
-
if (!url.includes("/assets")) return [3 /*break*/,
|
|
86
|
+
if (!url.includes("/assets")) return [3 /*break*/, 6];
|
|
88
87
|
segments = url.split("/");
|
|
89
88
|
segmentsWithoutOrigin = __spreadArray([], segments, true);
|
|
90
89
|
for (_i = 0, segments_1 = segments; _i < segments_1.length; _i++) {
|
|
@@ -96,19 +95,31 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
96
95
|
}
|
|
97
96
|
filePath = join(appPath, "dist/client", segmentsWithoutOrigin.join("/"));
|
|
98
97
|
return [4 /*yield*/, fs.readFile(filePath, "utf-8")];
|
|
99
|
-
case
|
|
98
|
+
case 5:
|
|
100
99
|
file = _b.sent();
|
|
101
100
|
return [2 /*return*/, new Response(file, {
|
|
102
101
|
headers: {
|
|
103
102
|
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
103
|
+
"Cache-Control": "max-age=31536000",
|
|
104
104
|
},
|
|
105
105
|
})];
|
|
106
|
+
case 6:
|
|
107
|
+
if (!(url.endsWith(".js") || url.endsWith(".css"))) return [3 /*break*/, 8];
|
|
108
|
+
return [4 /*yield*/, fs.readFile(url, "utf-8")];
|
|
106
109
|
case 7:
|
|
110
|
+
file = _b.sent();
|
|
111
|
+
return [2 /*return*/, new Response(file, {
|
|
112
|
+
headers: {
|
|
113
|
+
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
114
|
+
"Cache-Control": "max-age=31536000",
|
|
115
|
+
},
|
|
116
|
+
})];
|
|
117
|
+
case 8:
|
|
107
118
|
templateHtml = "";
|
|
108
119
|
serverFilePath = join(appPath, "dist/server/entry-server.js");
|
|
109
120
|
bootstrapDirPath = join(appPath, "dist/client/assets");
|
|
110
121
|
return [4 /*yield*/, import(serverFilePath)];
|
|
111
|
-
case
|
|
122
|
+
case 9:
|
|
112
123
|
entry = _b.sent();
|
|
113
124
|
bootstrap = "/assets/" +
|
|
114
125
|
fsSync
|
|
@@ -122,7 +133,7 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
122
133
|
handler = createStaticHandler(staticRoutes);
|
|
123
134
|
fetchRequest = createFetchRequest(req, host);
|
|
124
135
|
return [4 /*yield*/, handler.query(fetchRequest)];
|
|
125
|
-
case
|
|
136
|
+
case 10:
|
|
126
137
|
context_1 = _b.sent();
|
|
127
138
|
status_1 = context_1.status;
|
|
128
139
|
if (status_1 === 302) {
|
|
@@ -134,7 +145,7 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
134
145
|
helmetContext = {};
|
|
135
146
|
router = createStaticRouter(handler.dataRoutes, context_1);
|
|
136
147
|
return [4 /*yield*/, render(router, context_1, helmetContext)];
|
|
137
|
-
case
|
|
148
|
+
case 11:
|
|
138
149
|
rendered = _b.sent();
|
|
139
150
|
// Load template html
|
|
140
151
|
if (!templateHtml) {
|
|
@@ -149,13 +160,16 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
149
160
|
"Cache-Control": "max-age=31536000",
|
|
150
161
|
},
|
|
151
162
|
})];
|
|
152
|
-
case
|
|
163
|
+
case 12:
|
|
153
164
|
e_1 = _b.sent();
|
|
154
165
|
console.log(e_1.stack);
|
|
155
166
|
return [2 /*return*/, new Response(e_1.stack, {
|
|
156
167
|
status: 500,
|
|
157
168
|
})];
|
|
158
|
-
case
|
|
169
|
+
case 13: return [2 /*return*/];
|
|
159
170
|
}
|
|
160
171
|
});
|
|
161
172
|
}); });
|
|
173
|
+
// export default async (req: Request, context: Context) => {
|
|
174
|
+
// return await handleRequest(req);
|
|
175
|
+
// }
|
|
@@ -34,10 +34,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
+
if (ar || !(i in from)) {
|
|
40
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
+
ar[i] = from[i];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
+
};
|
|
37
46
|
import fs from "node:fs/promises";
|
|
38
47
|
import fsSync from "node:fs";
|
|
39
|
-
import path, { join
|
|
40
|
-
import { fileURLToPath } from "node:url";
|
|
48
|
+
import path, { join } from "node:path";
|
|
41
49
|
import { createStaticHandler, createStaticRouter, } from "react-router-dom/server.js";
|
|
42
50
|
// @ts-ignore
|
|
43
51
|
import { createFetchRequest } from "rasengan";
|
|
@@ -45,31 +53,26 @@ import { createFetchRequest } from "rasengan";
|
|
|
45
53
|
export default function handler(req, res) {
|
|
46
54
|
var _a;
|
|
47
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var
|
|
56
|
+
var url, host, appPath, err_1, segments, segmentsWithoutOrigin, _i, segments_1, segment, filePath, file, file, templateHtml, serverFilePath, bootstrapDirPath, entry, bootstrap, styles, render, staticRoutes, loadTemplateHtml, handler_1, fetchRequest, context, status_1, redirect, helmetContext, router, rendered, html, e_1;
|
|
49
57
|
return __generator(this, function (_b) {
|
|
50
58
|
switch (_b.label) {
|
|
51
59
|
case 0:
|
|
52
|
-
|
|
53
|
-
__dirname = dirname(__filename);
|
|
54
|
-
console.log({ __dirname: __dirname });
|
|
55
|
-
_b.label = 1;
|
|
56
|
-
case 1:
|
|
57
|
-
_b.trys.push([1, 11, , 12]);
|
|
60
|
+
_b.trys.push([0, 12, , 13]);
|
|
58
61
|
url = req.url;
|
|
59
62
|
host = req.headers.host;
|
|
60
63
|
appPath = process.cwd();
|
|
61
|
-
if (!(url === "/robots.txt")) return [3 /*break*/,
|
|
62
|
-
_b.label =
|
|
63
|
-
case
|
|
64
|
-
_b.trys.push([
|
|
64
|
+
if (!(url === "/robots.txt")) return [3 /*break*/, 4];
|
|
65
|
+
_b.label = 1;
|
|
66
|
+
case 1:
|
|
67
|
+
_b.trys.push([1, 3, , 4]);
|
|
65
68
|
return [4 /*yield*/, fs.access(path.resolve(join(appPath, "dist/client/robots.txt")))];
|
|
66
|
-
case
|
|
69
|
+
case 2:
|
|
67
70
|
_b.sent();
|
|
68
71
|
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/robots.txt")))];
|
|
69
|
-
case
|
|
72
|
+
case 3:
|
|
70
73
|
err_1 = _b.sent();
|
|
71
|
-
return [2 /*return*/, res.send("\n
|
|
72
|
-
case
|
|
74
|
+
return [2 /*return*/, res.send("\n user-agent: *\n disallow: /downloads/\n disallow: /private/\n allow: /\n \n user-agent: magicsearchbot\n disallow: /uploads/\n ")];
|
|
75
|
+
case 4:
|
|
73
76
|
// ! Sitemap Fix
|
|
74
77
|
if (url === "/sitemap.xml") {
|
|
75
78
|
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/sitemap.xml")))];
|
|
@@ -78,21 +81,42 @@ export default function handler(req, res) {
|
|
|
78
81
|
if (url === "/manifest.json") {
|
|
79
82
|
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/manifest.json")))];
|
|
80
83
|
}
|
|
81
|
-
if (!
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
if (!url.includes("/assets")) return [3 /*break*/, 6];
|
|
85
|
+
segments = url.split("/");
|
|
86
|
+
segmentsWithoutOrigin = __spreadArray([], segments, true);
|
|
87
|
+
for (_i = 0, segments_1 = segments; _i < segments_1.length; _i++) {
|
|
88
|
+
segment = segments_1[_i];
|
|
89
|
+
if (segment === "assets") {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
segmentsWithoutOrigin.shift();
|
|
93
|
+
}
|
|
94
|
+
filePath = join(appPath, "dist/client", segmentsWithoutOrigin.join("/"));
|
|
95
|
+
return [4 /*yield*/, fs.readFile(filePath, "utf-8")];
|
|
96
|
+
case 5:
|
|
84
97
|
file = _b.sent();
|
|
85
98
|
return [2 /*return*/, new Response(file, {
|
|
86
99
|
headers: {
|
|
87
100
|
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
101
|
+
"Cache-Control": "max-age=31536000",
|
|
88
102
|
},
|
|
89
103
|
})];
|
|
104
|
+
case 6:
|
|
105
|
+
if (!(url.endsWith(".js") || url.endsWith(".css"))) return [3 /*break*/, 8];
|
|
106
|
+
return [4 /*yield*/, fs.readFile(url, "utf-8")];
|
|
90
107
|
case 7:
|
|
108
|
+
file = _b.sent();
|
|
109
|
+
return [2 /*return*/, res
|
|
110
|
+
.status(200)
|
|
111
|
+
.setHeader("Content-Type", url.endsWith(".js") ? "text/javascript" : "text/css")
|
|
112
|
+
.setHeader("Cache-Control", "max-age=31536000")
|
|
113
|
+
.end(file)];
|
|
114
|
+
case 8:
|
|
91
115
|
templateHtml = "";
|
|
92
116
|
serverFilePath = join(appPath, "dist/server/entry-server.js");
|
|
93
117
|
bootstrapDirPath = join(appPath, "dist/client/assets");
|
|
94
118
|
return [4 /*yield*/, import(serverFilePath)];
|
|
95
|
-
case
|
|
119
|
+
case 9:
|
|
96
120
|
entry = _b.sent();
|
|
97
121
|
bootstrap = "/assets/" +
|
|
98
122
|
fsSync
|
|
@@ -106,7 +130,7 @@ export default function handler(req, res) {
|
|
|
106
130
|
handler_1 = createStaticHandler(staticRoutes);
|
|
107
131
|
fetchRequest = createFetchRequest(req, host);
|
|
108
132
|
return [4 /*yield*/, handler_1.query(fetchRequest)];
|
|
109
|
-
case
|
|
133
|
+
case 10:
|
|
110
134
|
context = _b.sent();
|
|
111
135
|
status_1 = context.status;
|
|
112
136
|
if (status_1 === 302) {
|
|
@@ -117,7 +141,7 @@ export default function handler(req, res) {
|
|
|
117
141
|
helmetContext = {};
|
|
118
142
|
router = createStaticRouter(handler_1.dataRoutes, context);
|
|
119
143
|
return [4 /*yield*/, render(router, context, helmetContext)];
|
|
120
|
-
case
|
|
144
|
+
case 11:
|
|
121
145
|
rendered = _b.sent();
|
|
122
146
|
// Load template html
|
|
123
147
|
if (!templateHtml) {
|
|
@@ -130,13 +154,16 @@ export default function handler(req, res) {
|
|
|
130
154
|
.setHeader("Content-Type", "text/html")
|
|
131
155
|
.setHeader("Cache-Control", "max-age=31536000")
|
|
132
156
|
.end(html)];
|
|
133
|
-
case
|
|
157
|
+
case 12:
|
|
134
158
|
e_1 = _b.sent();
|
|
135
159
|
console.log(e_1.stack);
|
|
136
160
|
res.status(500).end(e_1.stack);
|
|
137
|
-
return [3 /*break*/,
|
|
138
|
-
case
|
|
161
|
+
return [3 /*break*/, 13];
|
|
162
|
+
case 13: return [2 /*return*/];
|
|
139
163
|
}
|
|
140
164
|
});
|
|
141
165
|
});
|
|
142
166
|
}
|
|
167
|
+
// export default async function handler(req: VercelRequest, res: VercelResponse) {
|
|
168
|
+
// return await handleRequest(req, res);
|
|
169
|
+
// }
|
|
@@ -34,64 +34,120 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
+
if (ar || !(i in from)) {
|
|
40
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
+
ar[i] = from[i];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
+
};
|
|
37
46
|
import fs from "node:fs/promises";
|
|
38
47
|
import fsSync from "node:fs";
|
|
39
|
-
import path, {
|
|
48
|
+
import path, { join } from "node:path";
|
|
40
49
|
import { createStaticHandler, createStaticRouter, } from "react-router-dom/server.js";
|
|
41
50
|
// @ts-ignore
|
|
42
51
|
import { createFetchRequest } from "rasengan";
|
|
43
|
-
import { fileURLToPath } from "node:url";
|
|
44
52
|
// Create server for production only
|
|
45
|
-
export
|
|
53
|
+
export function handleRequest(req, res) {
|
|
46
54
|
var _a;
|
|
47
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var
|
|
56
|
+
var url, host, appPath, err_1, segments, segmentsWithoutOrigin, _i, segments_1, segment, filePath, file, file, templateHtml, serverFilePath, bootstrapDirPath, entry, bootstrap, styles, render, staticRoutes, loadTemplateHtml, handler, fetchRequest, context, status_1, redirect, helmetContext, router, rendered, html, e_1;
|
|
49
57
|
return __generator(this, function (_b) {
|
|
50
58
|
switch (_b.label) {
|
|
51
59
|
case 0:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
58
|
-
// read dir
|
|
59
|
-
console.log({
|
|
60
|
-
readdir: fsSync.readdirSync(__dirname),
|
|
61
|
-
readdir2: fsSync.readdirSync(join(process.cwd(), "..")),
|
|
62
|
-
readdir3: fsSync.readdirSync(join(process.cwd(), "..", "..")),
|
|
63
|
-
});
|
|
60
|
+
_b.trys.push([0, 12, , 13]);
|
|
61
|
+
url = req.url;
|
|
62
|
+
host = req.headers.host ? req.headers.host : req.headers.get("host") || "";
|
|
63
|
+
appPath = process.cwd();
|
|
64
|
+
if (!(url === "/robots.txt")) return [3 /*break*/, 4];
|
|
64
65
|
_b.label = 1;
|
|
65
66
|
case 1:
|
|
66
|
-
_b.trys.push([1,
|
|
67
|
-
url = req.url;
|
|
68
|
-
host = req.headers.host;
|
|
69
|
-
appPath = join(__dirname, "..");
|
|
70
|
-
if (!(url === "/robots.txt")) return [3 /*break*/, 5];
|
|
71
|
-
_b.label = 2;
|
|
72
|
-
case 2:
|
|
73
|
-
_b.trys.push([2, 4, , 5]);
|
|
67
|
+
_b.trys.push([1, 3, , 4]);
|
|
74
68
|
return [4 /*yield*/, fs.access(path.resolve(join(appPath, "dist/client/robots.txt")))];
|
|
75
|
-
case
|
|
69
|
+
case 2:
|
|
76
70
|
_b.sent();
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
if (res)
|
|
72
|
+
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/robots.txt")))];
|
|
73
|
+
return [2 /*return*/, new Response(path.resolve(join(appPath, "dist/client/robots.txt")), {
|
|
74
|
+
status: 200
|
|
75
|
+
})];
|
|
76
|
+
case 3:
|
|
79
77
|
err_1 = _b.sent();
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
if (res)
|
|
79
|
+
return [2 /*return*/, res.send("\n user-agent: *\n disallow: /downloads/\n disallow: /private/\n allow: /\n \n user-agent: magicsearchbot\n disallow: /uploads/\n ")];
|
|
80
|
+
return [2 /*return*/, new Response("\n user-agent: *\n disallow: /downloads/\n disallow: /private/\n allow: /\n \n user-agent: magicsearchbot\n disallow: /uploads/\n ", {
|
|
81
|
+
status: 200
|
|
82
|
+
})];
|
|
83
|
+
case 4:
|
|
82
84
|
// ! Sitemap Fix
|
|
83
85
|
if (url === "/sitemap.xml") {
|
|
84
|
-
|
|
86
|
+
if (res)
|
|
87
|
+
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/sitemap.xml")))];
|
|
88
|
+
return [2 /*return*/, new Response(path.resolve(join(appPath, "dist/client/sitemap.xml")), {
|
|
89
|
+
status: 200
|
|
90
|
+
})];
|
|
85
91
|
}
|
|
86
92
|
// ! Manifest Fix
|
|
87
93
|
if (url === "/manifest.json") {
|
|
88
|
-
|
|
94
|
+
if (res)
|
|
95
|
+
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/manifest.json")))];
|
|
96
|
+
return [2 /*return*/, new Response(path.resolve(join(appPath, "dist/client/manifest.json")), {
|
|
97
|
+
status: 200
|
|
98
|
+
})];
|
|
99
|
+
}
|
|
100
|
+
if (!url.includes("/assets")) return [3 /*break*/, 6];
|
|
101
|
+
segments = url.split("/");
|
|
102
|
+
segmentsWithoutOrigin = __spreadArray([], segments, true);
|
|
103
|
+
for (_i = 0, segments_1 = segments; _i < segments_1.length; _i++) {
|
|
104
|
+
segment = segments_1[_i];
|
|
105
|
+
if (segment === "assets") {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
segmentsWithoutOrigin.shift();
|
|
109
|
+
}
|
|
110
|
+
filePath = join(appPath, "dist/client", segmentsWithoutOrigin.join("/"));
|
|
111
|
+
return [4 /*yield*/, fs.readFile(filePath, "utf-8")];
|
|
112
|
+
case 5:
|
|
113
|
+
file = _b.sent();
|
|
114
|
+
if (res) {
|
|
115
|
+
return [2 /*return*/, res
|
|
116
|
+
.status(200)
|
|
117
|
+
.setHeader("Content-Type", url.endsWith(".js") ? "text/javascript" : "text/css")
|
|
118
|
+
.setHeader("Cache-Control", "max-age=31536000")
|
|
119
|
+
.end(file)];
|
|
89
120
|
}
|
|
121
|
+
return [2 /*return*/, new Response(file, {
|
|
122
|
+
headers: {
|
|
123
|
+
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
124
|
+
"Cache-Control": "max-age=31536000",
|
|
125
|
+
},
|
|
126
|
+
})];
|
|
127
|
+
case 6:
|
|
128
|
+
if (!(url.endsWith(".js") || url.endsWith(".css"))) return [3 /*break*/, 8];
|
|
129
|
+
return [4 /*yield*/, fs.readFile(url, "utf-8")];
|
|
130
|
+
case 7:
|
|
131
|
+
file = _b.sent();
|
|
132
|
+
if (res) {
|
|
133
|
+
return [2 /*return*/, res
|
|
134
|
+
.status(200)
|
|
135
|
+
.setHeader("Content-Type", url.endsWith(".js") ? "text/javascript" : "text/css")
|
|
136
|
+
.setHeader("Cache-Control", "max-age=31536000")
|
|
137
|
+
.end(file)];
|
|
138
|
+
}
|
|
139
|
+
return [2 /*return*/, new Response(file, {
|
|
140
|
+
headers: {
|
|
141
|
+
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
142
|
+
"Cache-Control": "max-age=31536000",
|
|
143
|
+
},
|
|
144
|
+
})];
|
|
145
|
+
case 8:
|
|
90
146
|
templateHtml = "";
|
|
91
147
|
serverFilePath = join(appPath, "dist/server/entry-server.js");
|
|
92
148
|
bootstrapDirPath = join(appPath, "dist/client/assets");
|
|
93
149
|
return [4 /*yield*/, import(serverFilePath)];
|
|
94
|
-
case
|
|
150
|
+
case 9:
|
|
95
151
|
entry = _b.sent();
|
|
96
152
|
bootstrap = "/assets/" +
|
|
97
153
|
fsSync
|
|
@@ -105,18 +161,21 @@ export default function handleRequest(req, res) {
|
|
|
105
161
|
handler = createStaticHandler(staticRoutes);
|
|
106
162
|
fetchRequest = createFetchRequest(req, host);
|
|
107
163
|
return [4 /*yield*/, handler.query(fetchRequest)];
|
|
108
|
-
case
|
|
164
|
+
case 10:
|
|
109
165
|
context = _b.sent();
|
|
110
166
|
status_1 = context.status;
|
|
111
167
|
if (status_1 === 302) {
|
|
112
168
|
redirect = context.headers.get("Location");
|
|
113
|
-
if (redirect)
|
|
114
|
-
|
|
169
|
+
if (redirect) {
|
|
170
|
+
if (res)
|
|
171
|
+
return [2 /*return*/, res.redirect(redirect)];
|
|
172
|
+
return [2 /*return*/, Response.redirect(redirect)];
|
|
173
|
+
}
|
|
115
174
|
}
|
|
116
175
|
helmetContext = {};
|
|
117
176
|
router = createStaticRouter(handler.dataRoutes, context);
|
|
118
177
|
return [4 /*yield*/, render(router, context, helmetContext)];
|
|
119
|
-
case
|
|
178
|
+
case 11:
|
|
120
179
|
rendered = _b.sent();
|
|
121
180
|
// Load template html
|
|
122
181
|
if (!templateHtml) {
|
|
@@ -138,7 +197,7 @@ export default function handleRequest(req, res) {
|
|
|
138
197
|
"Cache-Control": "max-age=31536000",
|
|
139
198
|
},
|
|
140
199
|
})];
|
|
141
|
-
case
|
|
200
|
+
case 12:
|
|
142
201
|
e_1 = _b.sent();
|
|
143
202
|
console.log(e_1.stack);
|
|
144
203
|
if (res) {
|
|
@@ -147,7 +206,7 @@ export default function handleRequest(req, res) {
|
|
|
147
206
|
return [2 /*return*/, new Response(e_1.stack, {
|
|
148
207
|
status: 500,
|
|
149
208
|
})];
|
|
150
|
-
case
|
|
209
|
+
case 13: return [2 /*return*/];
|
|
151
210
|
}
|
|
152
211
|
});
|
|
153
212
|
});
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import createFetchRequest from "./server/utils/createFetchRequest.js";
|
|
2
|
-
import handleRequest from "./server/utils/handleRequest.js";
|
|
2
|
+
import { handleRequest } from "./server/utils/handleRequest.js";
|
|
3
3
|
export * from "./core/index.js";
|
|
4
4
|
export * from "./routing/index.js";
|
|
5
5
|
export * from "./config/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function handleRequest(req: any, res?: any): Promise<any>;
|