@social-mail/social-mail-web-server 1.7.600 → 1.7.601
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/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/social-mail/site/preview/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/site/preview/get.js +71 -12
- package/dist/wwwroot/routes/social-mail/site/preview/get.js.map +1 -1
- package/package.json +1 -1
- package/src/wwwroot/routes/social-mail/site/preview/get.tsx +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,qBAAqB,MAAM,+DAA+D,CAAC;AAIlG,OAAO,OAA2B,MAAM,6CAA6C,CAAC;AAItF,OAAO,oBAAoB,MAAM,8DAA8D,CAAC;
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,qBAAqB,MAAM,+DAA+D,CAAC;AAIlG,OAAO,OAA2B,MAAM,6CAA6C,CAAC;AAItF,OAAO,oBAAoB,MAAM,8DAA8D,CAAC;AAyBhG,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,GAAG,EAAE,qBAAqB,CAAC;IAG3B,SAAS,EAAE,oBAAoB,CAAC;IAGhC,MAAM,MAAC;IAGP,QAAQ,MAAC;IAEH,GAAG;CAoDZ"}
|
|
@@ -7,6 +7,53 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
11
|
+
if (value !== null && value !== void 0) {
|
|
12
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
13
|
+
var dispose, inner;
|
|
14
|
+
if (async) {
|
|
15
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
16
|
+
dispose = value[Symbol.asyncDispose];
|
|
17
|
+
}
|
|
18
|
+
if (dispose === void 0) {
|
|
19
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
20
|
+
dispose = value[Symbol.dispose];
|
|
21
|
+
if (async) inner = dispose;
|
|
22
|
+
}
|
|
23
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
24
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
25
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
26
|
+
}
|
|
27
|
+
else if (async) {
|
|
28
|
+
env.stack.push({ async: true });
|
|
29
|
+
}
|
|
30
|
+
return value;
|
|
31
|
+
};
|
|
32
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
33
|
+
return function (env) {
|
|
34
|
+
function fail(e) {
|
|
35
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
36
|
+
env.hasError = true;
|
|
37
|
+
}
|
|
38
|
+
function next() {
|
|
39
|
+
while (env.stack.length) {
|
|
40
|
+
var rec = env.stack.pop();
|
|
41
|
+
try {
|
|
42
|
+
var result = rec.dispose && rec.dispose.call(rec.value);
|
|
43
|
+
if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
fail(e);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (env.hasError) throw env.error;
|
|
50
|
+
}
|
|
51
|
+
return next();
|
|
52
|
+
};
|
|
53
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
54
|
+
var e = new Error(message);
|
|
55
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
56
|
+
});
|
|
10
57
|
import Inject from "@entity-access/entity-access/dist/di/di.js";
|
|
11
58
|
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
12
59
|
import WebSiteContentService from "../../../../../server/services/files/WebSiteContentService.js";
|
|
@@ -17,6 +64,7 @@ import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
|
|
|
17
64
|
import { connect } from "net";
|
|
18
65
|
import HttpProxyService from "../../../../../server/services/http/HttpProxyService.js";
|
|
19
66
|
import SiteDiskContentCache from "../../../../../server/services/files/SiteDiskContentCache.js";
|
|
67
|
+
import LockFile from "../../../../../server/storage/LockFile.js";
|
|
20
68
|
let port = globalEnv.puppeteer.port;
|
|
21
69
|
if (/^\d+$/i.test(port)) {
|
|
22
70
|
port = Number(port);
|
|
@@ -59,18 +107,29 @@ export default class default_1 extends Page {
|
|
|
59
107
|
}
|
|
60
108
|
const key = `${snapshot.snapshotFolderID}/${this.cacheKey || "default"}-${width}-${height}-preview.webp`;
|
|
61
109
|
const file = await this.siteCache.htmlCache.getOrCreateAsync(key, async (lf) => {
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
110
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
111
|
+
try {
|
|
112
|
+
const _ = __addDisposableResource(env_1, await LockFile.lock("puppeteer-preview-generator"), false);
|
|
113
|
+
const query = new URLSearchParams({
|
|
114
|
+
url: `https://${this.request.hostName}`,
|
|
115
|
+
width,
|
|
116
|
+
height,
|
|
117
|
+
deviceScaleFactor,
|
|
118
|
+
output: "webp"
|
|
119
|
+
});
|
|
120
|
+
const r = await fetch(`http://localhost/screen-shot?${query.toString()}`, {
|
|
121
|
+
dispatcher
|
|
122
|
+
});
|
|
123
|
+
const buffer = Buffer.from(await r.arrayBuffer());
|
|
124
|
+
await lf.writeAll(buffer);
|
|
125
|
+
}
|
|
126
|
+
catch (e_1) {
|
|
127
|
+
env_1.error = e_1;
|
|
128
|
+
env_1.hasError = true;
|
|
129
|
+
}
|
|
130
|
+
finally {
|
|
131
|
+
__disposeResources(env_1);
|
|
132
|
+
}
|
|
74
133
|
});
|
|
75
134
|
return new TempFileResult(file, {
|
|
76
135
|
contentType: "image/webp"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -9,6 +9,7 @@ import { Readable } from "stream";
|
|
|
9
9
|
import { connect } from "net";
|
|
10
10
|
import HttpProxyService from "../../../../../server/services/http/HttpProxyService.js";
|
|
11
11
|
import SiteDiskContentCache from "../../../../../server/services/files/SiteDiskContentCache.js";
|
|
12
|
+
import LockFile from "../../../../../server/storage/LockFile.js";
|
|
12
13
|
|
|
13
14
|
let port = globalEnv.puppeteer.port as any;
|
|
14
15
|
if (/^\d+$/i.test(port)) {
|
|
@@ -75,6 +76,8 @@ export default class extends Page {
|
|
|
75
76
|
|
|
76
77
|
const file = await this.siteCache.htmlCache.getOrCreateAsync(key, async (lf) => {
|
|
77
78
|
|
|
79
|
+
using _ = await LockFile.lock("puppeteer-preview-generator");
|
|
80
|
+
|
|
78
81
|
const query = new URLSearchParams({
|
|
79
82
|
url: `https://${this.request.hostName}`,
|
|
80
83
|
width,
|