wapplr 1.0.75 → 1.0.76
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/app.js +183 -243
- package/dist/client/config.js +1 -5
- package/dist/client/createClient.js +88 -134
- package/dist/client/history.js +10 -39
- package/dist/client/index.js +0 -15
- package/dist/client/middlewares.js +93 -168
- package/dist/common/config.js +1 -4
- package/dist/common/contents.js +91 -142
- package/dist/common/index.js +7 -18
- package/dist/common/log/index.js +27 -48
- package/dist/common/log/renderedContent.js +57 -70
- package/dist/common/logo/index.js +0 -2
- package/dist/common/middlewares.js +7 -61
- package/dist/common/requests.js +97 -143
- package/dist/common/router.js +97 -162
- package/dist/common/states.js +7 -68
- package/dist/common/styles.js +6 -51
- package/dist/common/template/index.js +19 -24
- package/dist/common/template/template_css.js +1 -1
- package/dist/common/utils.js +4 -18
- package/dist/server/app.js +151 -217
- package/dist/server/config.js +1 -13
- package/dist/server/createServer.js +110 -197
- package/dist/server/html.js +34 -45
- package/dist/server/index.js +1 -16
- package/dist/server/middlewares.js +13 -73
- package/dist/server/static.js +0 -26
- package/package.json +1 -1
package/dist/server/html.js
CHANGED
|
@@ -4,51 +4,48 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = html;
|
|
7
|
-
|
|
8
7
|
var style = require("./../common/template/app_css.js")["default"];
|
|
9
|
-
|
|
10
8
|
function html(_ref) {
|
|
11
9
|
var wapp = _ref.wapp,
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
req = _ref.req,
|
|
11
|
+
res = _ref.res;
|
|
14
12
|
var config = wapp.server.config;
|
|
15
13
|
var _config$siteName = config.siteName,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
siteName = _config$siteName === void 0 ? "Wapplr" : _config$siteName,
|
|
15
|
+
_config$assets = config.assets,
|
|
16
|
+
assets = _config$assets === void 0 ? {} : _config$assets,
|
|
17
|
+
_config$lang = config.lang,
|
|
18
|
+
lang = _config$lang === void 0 ? "en_US" : _config$lang,
|
|
19
|
+
_config$viewport = config.viewport,
|
|
20
|
+
viewport = _config$viewport === void 0 ? "width=device-width, initial-scale=1" : _config$viewport,
|
|
21
|
+
_config$themeColor = config.themeColor,
|
|
22
|
+
themeColor = _config$themeColor === void 0 ? "#ffffff" : _config$themeColor,
|
|
23
|
+
_config$manifest = config.manifest,
|
|
24
|
+
manifest = _config$manifest === void 0 ? "/manifest.json" : _config$manifest,
|
|
25
|
+
_config$icon = config.icon,
|
|
26
|
+
icon = _config$icon === void 0 ? "data:image/png;base64,iVBORw0KGgo=" : _config$icon,
|
|
27
|
+
appleTouchIcon = config.appleTouchIcon,
|
|
28
|
+
_config$appStyle = config.appStyle,
|
|
29
|
+
appStyle = _config$appStyle === void 0 ? style : _config$appStyle;
|
|
32
30
|
var _res$wappResponse = res.wappResponse,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
store = _res$wappResponse.store,
|
|
32
|
+
_res$wappResponse$con = _res$wappResponse.content,
|
|
33
|
+
content = _res$wappResponse$con === void 0 ? {} : _res$wappResponse$con,
|
|
34
|
+
_res$wappResponse$sta = _res$wappResponse.statusCode,
|
|
35
|
+
statusCode = _res$wappResponse$sta === void 0 ? 200 : _res$wappResponse$sta,
|
|
36
|
+
_res$wappResponse$con2 = _res$wappResponse.containerElementId,
|
|
37
|
+
containerElementId = _res$wappResponse$con2 === void 0 ? "app" : _res$wappResponse$con2,
|
|
38
|
+
_res$wappResponse$app = _res$wappResponse.appStateName,
|
|
39
|
+
appStateName = _res$wappResponse$app === void 0 ? "APP_STATE" : _res$wappResponse$app;
|
|
42
40
|
var state = store ? store.getState() : {};
|
|
43
41
|
var _content$render = content.render,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
42
|
+
render = _content$render === void 0 ? "" : _content$render,
|
|
43
|
+
_content$title = content.title,
|
|
44
|
+
title = _content$title === void 0 ? "" : _content$title,
|
|
45
|
+
_content$description = content.description,
|
|
46
|
+
description = _content$description === void 0 ? "" : _content$description,
|
|
47
|
+
_content$author = content.author,
|
|
48
|
+
author = _content$author === void 0 ? "" : _content$author;
|
|
52
49
|
if (typeof title === "function") {
|
|
53
50
|
title = title({
|
|
54
51
|
wapp: wapp,
|
|
@@ -56,9 +53,7 @@ function html(_ref) {
|
|
|
56
53
|
res: res
|
|
57
54
|
});
|
|
58
55
|
}
|
|
59
|
-
|
|
60
56
|
title = "".concat(title ? title : statusCode === 404 ? "Not Found | " + siteName : "Untitled Page | " + siteName);
|
|
61
|
-
|
|
62
57
|
if (typeof description === "function") {
|
|
63
58
|
description = description({
|
|
64
59
|
wapp: wapp,
|
|
@@ -66,9 +61,7 @@ function html(_ref) {
|
|
|
66
61
|
res: res
|
|
67
62
|
});
|
|
68
63
|
}
|
|
69
|
-
|
|
70
64
|
description = description ? description : title && title.split ? title.split(" | ")[0] : title;
|
|
71
|
-
|
|
72
65
|
if (typeof author === "function") {
|
|
73
66
|
author = author({
|
|
74
67
|
wapp: wapp,
|
|
@@ -76,9 +69,7 @@ function html(_ref) {
|
|
|
76
69
|
res: res
|
|
77
70
|
});
|
|
78
71
|
}
|
|
79
|
-
|
|
80
72
|
author = author || siteName;
|
|
81
|
-
|
|
82
73
|
if (typeof render === "function") {
|
|
83
74
|
render = render({
|
|
84
75
|
wapp: wapp,
|
|
@@ -86,7 +77,6 @@ function html(_ref) {
|
|
|
86
77
|
res: res
|
|
87
78
|
});
|
|
88
79
|
}
|
|
89
|
-
|
|
90
80
|
wapp.styles.use(appStyle);
|
|
91
81
|
var styles = wapp.styles.getCssText();
|
|
92
82
|
var styleText = styles.map(function (style) {
|
|
@@ -102,7 +92,6 @@ function html(_ref) {
|
|
|
102
92
|
if (script) {
|
|
103
93
|
return "<script src=\"".concat(script, "\" ></script>");
|
|
104
94
|
}
|
|
105
|
-
|
|
106
95
|
return "";
|
|
107
96
|
}).join(" ");
|
|
108
97
|
var headComponent = wapp.contents.getComponent("head");
|
package/dist/server/index.js
CHANGED
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.createMiddleware = createMiddleware;
|
|
9
8
|
exports["default"] = _default;
|
|
10
9
|
exports.run = run;
|
|
11
|
-
|
|
12
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
-
|
|
14
11
|
var _createServer = _interopRequireDefault(require("./createServer"));
|
|
15
|
-
|
|
16
12
|
var _config = _interopRequireDefault(require("./config"));
|
|
17
|
-
|
|
18
13
|
// eslint-disable-next-line import/no-anonymous-default-export
|
|
19
14
|
function _default() {
|
|
20
15
|
var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
21
16
|
return p.wapp || (0, _createServer["default"])((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _config["default"])(p)), p));
|
|
22
17
|
}
|
|
23
|
-
|
|
24
18
|
function createMiddleware() {
|
|
25
19
|
var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
26
20
|
var wapp = p.wapp || (0, _createServer["default"])(p);
|
|
27
21
|
return wapp.server.app;
|
|
28
22
|
}
|
|
29
|
-
|
|
30
23
|
var defaultConfig = {
|
|
31
24
|
config: {
|
|
32
25
|
globals: {
|
|
@@ -39,35 +32,27 @@ var defaultConfig = {
|
|
|
39
32
|
}
|
|
40
33
|
}
|
|
41
34
|
};
|
|
42
|
-
|
|
43
35
|
function run() {
|
|
44
36
|
var _p$config;
|
|
45
|
-
|
|
46
37
|
var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultConfig;
|
|
47
|
-
|
|
48
38
|
if (p !== null && p !== void 0 && (_p$config = p.config) !== null && _p$config !== void 0 && _p$config.globals && !p.config.globals.RUN) {
|
|
49
39
|
var _p$config2;
|
|
50
|
-
|
|
51
40
|
p.config.globals.RUN = ((_p$config2 = p.config) === null || _p$config2 === void 0 ? void 0 : _p$config2.globals.NAME) || "wapplr";
|
|
52
41
|
}
|
|
53
|
-
|
|
54
42
|
var _process = process,
|
|
55
|
-
|
|
43
|
+
env = _process.env;
|
|
56
44
|
env.NODE_ENV = process.env.NODE_ENV;
|
|
57
45
|
var wapp = (0, _createServer["default"])(p);
|
|
58
46
|
var globals = wapp.globals;
|
|
59
47
|
var DEV = globals.DEV;
|
|
60
48
|
var app = wapp.server.app;
|
|
61
49
|
wapp.server.listen();
|
|
62
|
-
|
|
63
50
|
if (typeof DEV !== "undefined" && DEV && module.hot) {
|
|
64
51
|
app.hot = module.hot;
|
|
65
52
|
module.hot.accept("./index");
|
|
66
53
|
}
|
|
67
|
-
|
|
68
54
|
return wapp;
|
|
69
55
|
}
|
|
70
|
-
|
|
71
56
|
if (typeof RUN !== "undefined" && RUN === "wapplr") {
|
|
72
57
|
run();
|
|
73
58
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -9,19 +8,13 @@ exports.createNotModifiedMiddleware = createNotModifiedMiddleware;
|
|
|
9
8
|
exports.createRenderMiddleware = createRenderMiddleware;
|
|
10
9
|
exports["default"] = createMiddlewares;
|
|
11
10
|
exports.mimeType = void 0;
|
|
12
|
-
|
|
13
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
14
|
-
|
|
15
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
16
|
-
|
|
17
13
|
var _utils = require("../common/utils");
|
|
18
|
-
|
|
19
14
|
var _middlewares = _interopRequireDefault(require("../common/middlewares"));
|
|
20
|
-
|
|
21
15
|
var _html2 = _interopRequireDefault(require("./html"));
|
|
22
|
-
|
|
23
16
|
var _excluded = ["log"];
|
|
24
|
-
var mimeType = {
|
|
17
|
+
var mimeType = exports.mimeType = {
|
|
25
18
|
".ico": "image/x-icon",
|
|
26
19
|
".html": "text/html",
|
|
27
20
|
".js": "application/javascript",
|
|
@@ -45,15 +38,11 @@ var mimeType = {
|
|
|
45
38
|
".xml": "application/xml",
|
|
46
39
|
".map": "application/json"
|
|
47
40
|
};
|
|
48
|
-
exports.mimeType = mimeType;
|
|
49
|
-
|
|
50
41
|
function createRenderMiddleware() {
|
|
51
42
|
var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
52
43
|
var wapp = p.wapp;
|
|
53
|
-
|
|
54
44
|
function defaultRenderHandle(req, res, next) {
|
|
55
45
|
var wappResponse = res.wappResponse;
|
|
56
|
-
|
|
57
46
|
if (wappResponse.content && !wappResponse.content.renderType) {
|
|
58
47
|
res.wappResponse.status(wappResponse.statusCode || 200);
|
|
59
48
|
var render = wapp.contents.getComponent("html");
|
|
@@ -67,20 +56,17 @@ function createRenderMiddleware() {
|
|
|
67
56
|
next();
|
|
68
57
|
}
|
|
69
58
|
}
|
|
70
|
-
|
|
71
59
|
function defaultHandle(req, res, out) {
|
|
72
60
|
if (!wapp.contents.getComponent("html")) {
|
|
73
61
|
wapp.contents.addComponent({
|
|
74
62
|
html: defaultRender
|
|
75
63
|
});
|
|
76
64
|
}
|
|
77
|
-
|
|
78
65
|
var renderMiddlewares = Object.keys(renderMiddleware.handles).map(function (key) {
|
|
79
66
|
return renderMiddleware.handles[key];
|
|
80
67
|
});
|
|
81
68
|
renderMiddlewares.sort();
|
|
82
69
|
var index = 0;
|
|
83
|
-
|
|
84
70
|
function next(err) {
|
|
85
71
|
if (renderMiddlewares[index]) {
|
|
86
72
|
var func = renderMiddlewares[index];
|
|
@@ -92,27 +78,21 @@ function createRenderMiddleware() {
|
|
|
92
78
|
index = 0;
|
|
93
79
|
return out(err);
|
|
94
80
|
}
|
|
95
|
-
|
|
96
81
|
return null;
|
|
97
82
|
}
|
|
98
|
-
|
|
99
83
|
return next();
|
|
100
84
|
}
|
|
101
|
-
|
|
102
85
|
var defaultRender = _html2["default"];
|
|
103
|
-
|
|
104
86
|
function defaultAddHandle(obj) {
|
|
105
87
|
if (typeof obj === "object" && !obj.length) {
|
|
106
88
|
Object.keys(obj).forEach(function (handleName) {
|
|
107
89
|
var handle = obj[handleName];
|
|
108
|
-
|
|
109
90
|
if (typeof handle == "function") {
|
|
110
91
|
renderMiddleware.handles[handleName] = handle;
|
|
111
92
|
}
|
|
112
93
|
});
|
|
113
94
|
}
|
|
114
95
|
}
|
|
115
|
-
|
|
116
96
|
var renderMiddlewareProperties = Object.create(Object.prototype, {
|
|
117
97
|
handle: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
118
98
|
value: defaultHandle
|
|
@@ -129,15 +109,12 @@ function createRenderMiddleware() {
|
|
|
129
109
|
value: defaultAddHandle
|
|
130
110
|
})
|
|
131
111
|
});
|
|
132
|
-
|
|
133
112
|
function renderMiddleware(req, res, next) {
|
|
134
113
|
if (typeof renderMiddleware.handle === "function") {
|
|
135
114
|
renderMiddleware.handle(req, res, next);
|
|
136
115
|
}
|
|
137
|
-
|
|
138
116
|
return renderMiddleware;
|
|
139
117
|
}
|
|
140
|
-
|
|
141
118
|
(0, _utils.mergeProperties)(renderMiddleware, renderMiddlewareProperties);
|
|
142
119
|
Object.defineProperty(renderMiddleware, "wapp", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
143
120
|
writable: false,
|
|
@@ -146,11 +123,9 @@ function createRenderMiddleware() {
|
|
|
146
123
|
}));
|
|
147
124
|
return renderMiddleware;
|
|
148
125
|
}
|
|
149
|
-
|
|
150
126
|
function createNotModifiedMiddleware() {
|
|
151
127
|
var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
152
128
|
var wapp = p.wapp;
|
|
153
|
-
|
|
154
129
|
function defaultIsFromCache(req, res) {
|
|
155
130
|
var ifMatch = req.headers["if-match"];
|
|
156
131
|
var ifUnmodifiedSince = req.headers["if-unmodified-since"];
|
|
@@ -163,19 +138,15 @@ function createNotModifiedMiddleware() {
|
|
|
163
138
|
var isCacheable = res.wappResponse.statusCode >= 200 && res.wappResponse.statusCode < 300 || res.wappResponse.statusCode === 304;
|
|
164
139
|
var noCache = cacheControl && /(?:^|,)\s*?no-cache\s*?(?:,|$)/.test(cacheControl);
|
|
165
140
|
var unconditional = !ifUnmodifiedSince && !ifNoneMatch;
|
|
166
|
-
|
|
167
141
|
if (unconditional || noCache || !isCacheable || !conditionalGet) {
|
|
168
142
|
return false;
|
|
169
143
|
}
|
|
170
|
-
|
|
171
144
|
var fromCache = false;
|
|
172
|
-
|
|
173
145
|
if (ifNoneMatch && ifNoneMatch !== "*" && etag) {
|
|
174
146
|
var parseTokenList = function parseTokenList(str) {
|
|
175
147
|
var end = 0;
|
|
176
148
|
var list = [];
|
|
177
149
|
var start = 0;
|
|
178
|
-
|
|
179
150
|
for (var i = 0, len = str.length; i < len; i++) {
|
|
180
151
|
switch (str.charCodeAt(i)) {
|
|
181
152
|
case 0x20:
|
|
@@ -183,54 +154,42 @@ function createNotModifiedMiddleware() {
|
|
|
183
154
|
if (start === end) {
|
|
184
155
|
start = end = i + 1;
|
|
185
156
|
}
|
|
186
|
-
|
|
187
157
|
break;
|
|
188
|
-
|
|
189
158
|
case 0x2c:
|
|
190
159
|
/* , */
|
|
191
160
|
list.push(str.substring(start, end));
|
|
192
161
|
start = end = i + 1;
|
|
193
162
|
break;
|
|
194
|
-
|
|
195
163
|
default:
|
|
196
164
|
end = i + 1;
|
|
197
165
|
break;
|
|
198
166
|
}
|
|
199
167
|
}
|
|
200
|
-
|
|
201
168
|
list.push(str.substring(start, end));
|
|
202
169
|
return list;
|
|
203
170
|
};
|
|
204
|
-
|
|
205
171
|
var matches = parseTokenList(ifNoneMatch);
|
|
206
|
-
|
|
207
172
|
for (var i = 0; i < matches.length; i++) {
|
|
208
173
|
var match = matches[i];
|
|
209
|
-
|
|
210
174
|
if (match === etag || match === "W/" + etag || "W/" + match === etag) {
|
|
211
175
|
fromCache = true;
|
|
212
176
|
break;
|
|
213
177
|
}
|
|
214
178
|
}
|
|
215
179
|
}
|
|
216
|
-
|
|
217
180
|
if (ifModifiedSince && lastModified) {
|
|
218
181
|
var parseHttpDate = function parseHttpDate(date) {
|
|
219
182
|
var timestamp = date && Date.parse(date);
|
|
220
183
|
return typeof timestamp === 'number' ? timestamp : NaN;
|
|
221
184
|
};
|
|
222
|
-
|
|
223
185
|
if (parseHttpDate(lastModified) <= parseHttpDate(ifModifiedSince)) {
|
|
224
186
|
fromCache = true;
|
|
225
187
|
}
|
|
226
188
|
}
|
|
227
|
-
|
|
228
189
|
return fromCache;
|
|
229
190
|
}
|
|
230
|
-
|
|
231
191
|
function defaultHandle(req, res, next) {
|
|
232
192
|
var fromCache = notModifiedMiddleware.isFromCache(req, res);
|
|
233
|
-
|
|
234
193
|
if (fromCache) {
|
|
235
194
|
res.wappResponse.status(304);
|
|
236
195
|
res.wapp.log(req, res);
|
|
@@ -239,7 +198,6 @@ function createNotModifiedMiddleware() {
|
|
|
239
198
|
return next();
|
|
240
199
|
}
|
|
241
200
|
}
|
|
242
|
-
|
|
243
201
|
var notModifiedMiddlewareProperties = Object.create(Object.prototype, {
|
|
244
202
|
handle: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
245
203
|
value: defaultHandle
|
|
@@ -248,15 +206,12 @@ function createNotModifiedMiddleware() {
|
|
|
248
206
|
value: defaultIsFromCache
|
|
249
207
|
})
|
|
250
208
|
});
|
|
251
|
-
|
|
252
209
|
function notModifiedMiddleware(req, res, next) {
|
|
253
210
|
if (typeof notModifiedMiddleware.handle === "function") {
|
|
254
211
|
notModifiedMiddleware.handle(req, res, next);
|
|
255
212
|
}
|
|
256
|
-
|
|
257
213
|
return notModifiedMiddleware;
|
|
258
214
|
}
|
|
259
|
-
|
|
260
215
|
(0, _utils.mergeProperties)(notModifiedMiddleware, notModifiedMiddlewareProperties);
|
|
261
216
|
Object.defineProperty(notModifiedMiddleware, "wapp", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
|
|
262
217
|
writable: false,
|
|
@@ -265,84 +220,70 @@ function createNotModifiedMiddleware() {
|
|
|
265
220
|
}));
|
|
266
221
|
return notModifiedMiddleware;
|
|
267
222
|
}
|
|
268
|
-
|
|
269
223
|
function createMiddlewares(p) {
|
|
270
224
|
var _commonMiddlewares = (0, _middlewares["default"])(p),
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
225
|
+
log = _commonMiddlewares.log,
|
|
226
|
+
rest = (0, _objectWithoutProperties2["default"])(_commonMiddlewares, _excluded);
|
|
274
227
|
var wapp = p.wapp;
|
|
275
228
|
var wappMiddleware = wapp.middleware;
|
|
276
229
|
var notModifiedMiddleware = createNotModifiedMiddleware(p);
|
|
277
230
|
wappMiddleware.addSendMiddleware({
|
|
278
231
|
headers: function headers(req, res, next) {
|
|
279
232
|
var _res$wappResponse$sen = res.wappResponse.sendData,
|
|
280
|
-
|
|
281
|
-
|
|
233
|
+
sendData = _res$wappResponse$sen === void 0 ? {} : _res$wappResponse$sen;
|
|
282
234
|
if (res.setHeader) {
|
|
283
235
|
var data = sendData.data,
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
236
|
+
_sendData$stats = sendData.stats,
|
|
237
|
+
stats = _sendData$stats === void 0 ? {} : _sendData$stats,
|
|
238
|
+
_sendData$parsedPath = sendData.parsedPath,
|
|
239
|
+
parsedPath = _sendData$parsedPath === void 0 ? {} : _sendData$parsedPath,
|
|
240
|
+
dontSetContentLength = sendData.dontSetContentLength;
|
|
289
241
|
var _html = data;
|
|
290
242
|
var _parsedPath$ext = parsedPath.ext,
|
|
291
|
-
|
|
243
|
+
ext = _parsedPath$ext === void 0 ? ".html" : _parsedPath$ext;
|
|
292
244
|
var charSet = sendData.charSet ? sendData.charSet : ext === '.html' ? 'utf-8' : '';
|
|
293
245
|
var mtime = stats.mtime;
|
|
294
|
-
|
|
295
246
|
if (!res.getHeader("Accept-Ranges")) {
|
|
296
247
|
res.setHeader("Accept-Ranges", "bytes");
|
|
297
248
|
}
|
|
298
|
-
|
|
299
249
|
if (!res.getHeader("Content-Type")) {
|
|
300
250
|
res.setHeader("Content-Type", [mimeType[ext] || "text/plain", charSet ? 'charset=' + charSet : ''].filter(function (t) {
|
|
301
251
|
return t;
|
|
302
252
|
}).join('; '));
|
|
303
253
|
}
|
|
304
|
-
|
|
305
254
|
if (!res.getHeader("Content-Length") && !dontSetContentLength) {
|
|
306
255
|
res.setHeader("Content-Length", Buffer.byteLength(_html));
|
|
307
256
|
}
|
|
308
|
-
|
|
309
257
|
if (!res.getHeader("Last-Modified") && mtime) {
|
|
310
258
|
res.setHeader("Last-Modified", mtime.toUTCString());
|
|
311
259
|
}
|
|
312
|
-
|
|
313
260
|
if (!res.getHeader("Cache-Control")) {
|
|
314
261
|
res.setHeader("Cache-Control", "public, max-age=0");
|
|
315
262
|
}
|
|
316
|
-
|
|
317
263
|
if (!res.getHeader("X-Powered-By")) {
|
|
318
264
|
res.setHeader("X-Powered-By", "Wapplr");
|
|
319
265
|
}
|
|
320
266
|
}
|
|
321
|
-
|
|
322
267
|
return next();
|
|
323
268
|
},
|
|
324
269
|
etag: function etag(req, res, next) {
|
|
325
270
|
var _res$wappResponse$sen2 = res.wappResponse.sendData,
|
|
326
|
-
|
|
327
|
-
|
|
271
|
+
sendData = _res$wappResponse$sen2 === void 0 ? {} : _res$wappResponse$sen2;
|
|
328
272
|
if (res.setHeader) {
|
|
329
273
|
var _sendData$stats2 = sendData.stats,
|
|
330
|
-
|
|
274
|
+
stats = _sendData$stats2 === void 0 ? {} : _sendData$stats2;
|
|
331
275
|
var mtime = stats.mtime,
|
|
332
|
-
|
|
333
|
-
|
|
276
|
+
size = stats.size;
|
|
334
277
|
if (!res.getHeader("ETag") && mtime && size) {
|
|
335
278
|
var etag = "W/\"".concat(size.toString(16), "-").concat(mtime.getTime().toString(16), "\"");
|
|
336
279
|
res.setHeader("ETag", etag);
|
|
337
280
|
}
|
|
338
281
|
}
|
|
339
|
-
|
|
340
282
|
return next();
|
|
341
283
|
},
|
|
342
284
|
notModified: function notModified(req, res, next) {
|
|
343
285
|
if (res.setHeader) {
|
|
344
286
|
var fromCache = notModifiedMiddleware.isFromCache(req, res);
|
|
345
|
-
|
|
346
287
|
if (fromCache) {
|
|
347
288
|
res.wappResponse.status(304);
|
|
348
289
|
res.wapp.log(req, res);
|
|
@@ -350,7 +291,6 @@ function createMiddlewares(p) {
|
|
|
350
291
|
return;
|
|
351
292
|
}
|
|
352
293
|
}
|
|
353
|
-
|
|
354
294
|
return next();
|
|
355
295
|
}
|
|
356
296
|
});
|
package/dist/server/static.js
CHANGED
|
@@ -6,16 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.addCloseEventsForReadableStream = addCloseEventsForReadableStream;
|
|
7
7
|
exports["default"] = serveStatic;
|
|
8
8
|
exports.endStream = endStream;
|
|
9
|
-
|
|
10
9
|
var fs = require("fs");
|
|
11
|
-
|
|
12
10
|
var path = require("path");
|
|
13
|
-
|
|
14
11
|
function destroy(stream) {
|
|
15
12
|
if (!(stream !== null && stream !== void 0 && stream.__destroyed)) {
|
|
16
13
|
stream.destroy();
|
|
17
14
|
stream.__destroyed = true;
|
|
18
|
-
|
|
19
15
|
if (typeof stream.close === "function") {
|
|
20
16
|
stream.on("open", function onOpenClose() {
|
|
21
17
|
if (typeof this.fd === "number") {
|
|
@@ -24,68 +20,52 @@ function destroy(stream) {
|
|
|
24
20
|
});
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
|
-
|
|
28
23
|
return stream;
|
|
29
24
|
}
|
|
30
|
-
|
|
31
25
|
function onFinished(req, res, callback) {
|
|
32
26
|
function isFinishedResponse() {
|
|
33
27
|
var socket = res.socket;
|
|
34
|
-
|
|
35
28
|
if (typeof res.finished === "boolean") {
|
|
36
29
|
return Boolean(res.finished || res.writableEnded || socket && !socket.writable);
|
|
37
30
|
}
|
|
38
31
|
}
|
|
39
|
-
|
|
40
32
|
function isFinishedRequest() {
|
|
41
33
|
var socket = req.socket;
|
|
42
|
-
|
|
43
34
|
if (typeof req.complete === "boolean") {
|
|
44
35
|
return Boolean(req.upgrade || !socket || !socket.readable || req.complete && !req.readable);
|
|
45
36
|
}
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
function removeListener() {
|
|
49
39
|
if (req.__onFinishedInterval) {
|
|
50
40
|
clearInterval(req.__onFinishedInterval);
|
|
51
41
|
req.__onFinishedInterval = 0;
|
|
52
42
|
}
|
|
53
|
-
|
|
54
43
|
if (res.__onFinishedInterval) {
|
|
55
44
|
clearInterval(res.__onFinishedInterval);
|
|
56
45
|
res.__onFinishedInterval = 0;
|
|
57
46
|
}
|
|
58
47
|
}
|
|
59
|
-
|
|
60
48
|
function listener() {
|
|
61
49
|
var result = isFinishedRequest() || isFinishedResponse();
|
|
62
|
-
|
|
63
50
|
if (result) {
|
|
64
51
|
removeListener();
|
|
65
52
|
callback();
|
|
66
53
|
}
|
|
67
54
|
}
|
|
68
|
-
|
|
69
55
|
req.__onFinishedInterval = res.__onFinishedInterval = setInterval(listener, 100);
|
|
70
56
|
req.__onFinishedRemoveListener = res.__onFinishedRemoveListener = removeListener;
|
|
71
57
|
}
|
|
72
|
-
|
|
73
58
|
function endStream(req, res, stream) {
|
|
74
59
|
if (req.__onFinishedRemoveListener) {
|
|
75
60
|
req.__onFinishedRemoveListener();
|
|
76
|
-
|
|
77
61
|
req.__onFinishedRemoveListener = null;
|
|
78
62
|
}
|
|
79
|
-
|
|
80
63
|
if (res.__onFinishedRemoveListener) {
|
|
81
64
|
res.__onFinishedRemoveListener();
|
|
82
|
-
|
|
83
65
|
res.__onFinishedRemoveListener = null;
|
|
84
66
|
}
|
|
85
|
-
|
|
86
67
|
destroy(stream);
|
|
87
68
|
}
|
|
88
|
-
|
|
89
69
|
function addCloseEventsForReadableStream(req, res, stream) {
|
|
90
70
|
req.on("close", function () {
|
|
91
71
|
endStream(req, res, stream);
|
|
@@ -100,28 +80,22 @@ function addCloseEventsForReadableStream(req, res, stream) {
|
|
|
100
80
|
endStream(req, res, stream);
|
|
101
81
|
});
|
|
102
82
|
}
|
|
103
|
-
|
|
104
83
|
function serveStatic(publicPath) {
|
|
105
84
|
return function staticMiddleware(req, res, next) {
|
|
106
85
|
var parsedUrl = {
|
|
107
86
|
pathname: req.wappRequest.path
|
|
108
87
|
};
|
|
109
|
-
|
|
110
88
|
try {
|
|
111
89
|
parsedUrl = new URL(req.wappRequest.url);
|
|
112
90
|
} catch (e) {}
|
|
113
|
-
|
|
114
91
|
var sanitizePath = path.normalize(parsedUrl.pathname).replace(/^(\.\.[\/\\])+/, "");
|
|
115
92
|
var pathname = path.join(publicPath, sanitizePath);
|
|
116
93
|
var parsedSanitizePath = path.parse(pathname);
|
|
117
94
|
var ext = parsedSanitizePath.ext;
|
|
118
|
-
|
|
119
95
|
if (!fs.existsSync(pathname) || !ext) {
|
|
120
96
|
return next();
|
|
121
97
|
}
|
|
122
|
-
|
|
123
98
|
var stream;
|
|
124
|
-
|
|
125
99
|
try {
|
|
126
100
|
var data = fs.readFileSync(pathname);
|
|
127
101
|
var stats = fs.statSync(pathname);
|