@social-mail/social-mail-web-server 1.7.596 → 1.7.597

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.
@@ -1,9 +1,12 @@
1
1
  import Page from "@entity-access/server-pages/dist/Page.js";
2
2
  import WebSiteContentService from "../../../../../server/services/files/WebSiteContentService.js";
3
3
  import Content from "@entity-access/server-pages/dist/Content.js";
4
+ import SiteDiskContentCache from "../../../../../server/services/files/SiteDiskContentCache.js";
4
5
  export default class extends Page {
5
6
  wcs: WebSiteContentService;
7
+ siteCache: SiteDiskContentCache;
6
8
  mobile: any;
9
+ cacheKey: any;
7
10
  run(): Promise<Content>;
8
11
  }
9
12
  //# sourceMappingURL=get.d.ts.map
@@ -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,OAAO,MAAM,6CAA6C,CAAC;AA2BlE,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,GAAG,EAAE,qBAAqB,CAAC;IAG3B,MAAM,MAAC;IAED,GAAG;CA4CZ"}
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;AAwBhG,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,GAAG,EAAE,qBAAqB,CAAC;IAG3B,SAAS,EAAE,oBAAoB,CAAC;IAGhC,MAAM,MAAC;IAGP,QAAQ,MAAC;IAEH,GAAG;CA8CZ"}
@@ -13,10 +13,10 @@ import WebSiteContentService from "../../../../../server/services/files/WebSiteC
13
13
  import { Query } from "@entity-access/server-pages/dist/core/Query.js";
14
14
  import { globalEnv } from "../../../../../common/globalEnv.js";
15
15
  import { Agent, fetch } from "undici";
16
- import Content from "@entity-access/server-pages/dist/Content.js";
17
- import { Readable } from "stream";
16
+ import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
18
17
  import { connect } from "net";
19
18
  import HttpProxyService from "../../../../../server/services/http/HttpProxyService.js";
19
+ import SiteDiskContentCache from "../../../../../server/services/files/SiteDiskContentCache.js";
20
20
  let port = globalEnv.puppeteer.port;
21
21
  if (/^\d+$/i.test(port)) {
22
22
  port = Number(port);
@@ -55,21 +55,22 @@ export default class default_1 extends Page {
55
55
  width = 600;
56
56
  height = 1000;
57
57
  }
58
- const query = new URLSearchParams({
59
- url: `https://${this.request.hostName}`,
60
- width: "1024",
61
- height: "2048",
62
- output: "webp"
63
- });
64
- const r = await fetch(`http://localhost/screen-shot?${query.toString()}`, {
65
- dispatcher
58
+ const key = `${snapshot.snapshotFolderID}/${this.cacheKey || "default"}-${width}-${height}-preview.webp`;
59
+ const file = await this.siteCache.htmlCache.getOrCreateAsync(key, async (lf) => {
60
+ const query = new URLSearchParams({
61
+ url: `https://${this.request.hostName}`,
62
+ width: "1024",
63
+ height: "2048",
64
+ output: "webp"
65
+ });
66
+ const r = await fetch(`http://localhost/screen-shot?${query.toString()}`, {
67
+ dispatcher
68
+ });
69
+ const buffer = Buffer.from(await r.arrayBuffer());
70
+ await lf.writeAll(buffer);
66
71
  });
67
- const buffer = Buffer.from(await r.arrayBuffer());
68
- const contentType = r.headers.get("content-type");
69
- return new Content({
70
- reader: Readable.from([buffer]),
71
- contentType,
72
- suppressLog: true
72
+ return new TempFileResult(file, {
73
+ contentType: "image/webp"
73
74
  });
74
75
  }
75
76
  }
@@ -77,8 +78,16 @@ __decorate([
77
78
  Inject,
78
79
  __metadata("design:type", WebSiteContentService)
79
80
  ], default_1.prototype, "wcs", void 0);
81
+ __decorate([
82
+ Inject,
83
+ __metadata("design:type", SiteDiskContentCache)
84
+ ], default_1.prototype, "siteCache", void 0);
80
85
  __decorate([
81
86
  Query("mobile"),
82
87
  __metadata("design:type", Object)
83
88
  ], default_1.prototype, "mobile", void 0);
89
+ __decorate([
90
+ Query("cache-key"),
91
+ __metadata("design:type", Object)
92
+ ], default_1.prototype, "cacheKey", void 0);
84
93
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/site/preview/get.tsx"],"names":[],"mappings":"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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-web-server",
3
- "version": "1.7.596",
3
+ "version": "1.7.597",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -4,10 +4,11 @@ import WebSiteContentService from "../../../../../server/services/files/WebSiteC
4
4
  import { Query } from "@entity-access/server-pages/dist/core/Query.js";
5
5
  import { globalEnv } from "../../../../../common/globalEnv.js";
6
6
  import { Agent, fetch } from "undici";
7
- import Content from "@entity-access/server-pages/dist/Content.js";
7
+ import Content, { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
8
8
  import { Readable } from "stream";
9
9
  import { connect } from "net";
10
10
  import HttpProxyService from "../../../../../server/services/http/HttpProxyService.js";
11
+ import SiteDiskContentCache from "../../../../../server/services/files/SiteDiskContentCache.js";
11
12
 
12
13
  let port = globalEnv.puppeteer.port as any;
13
14
  if (/^\d+$/i.test(port)) {
@@ -36,9 +37,15 @@ export default class extends Page {
36
37
  @Inject
37
38
  wcs: WebSiteContentService;
38
39
 
40
+ @Inject
41
+ siteCache: SiteDiskContentCache;
42
+
39
43
  @Query("mobile")
40
44
  mobile;
41
45
 
46
+ @Query("cache-key")
47
+ cacheKey;
48
+
42
49
  async run() {
43
50
 
44
51
  const snapshot = await this.wcs.getCurrentSnapshotFolder(this.request.hostName);
@@ -61,26 +68,28 @@ export default class extends Page {
61
68
  height = 1000;
62
69
  }
63
70
 
71
+ const key = `${snapshot.snapshotFolderID}/${this.cacheKey || "default"}-${width}-${height}-preview.webp`;
64
72
 
65
- const query = new URLSearchParams({
66
- url: `https://${this.request.hostName}`,
67
- width: "1024",
68
- height: "2048",
69
- output: "webp"
70
- });
73
+ const file = await this.siteCache.htmlCache.getOrCreateAsync(key, async (lf) => {
71
74
 
72
- const r = await fetch(`http://localhost/screen-shot?${query.toString()}`, {
73
- dispatcher
74
- });
75
+ const query = new URLSearchParams({
76
+ url: `https://${this.request.hostName}`,
77
+ width: "1024",
78
+ height: "2048",
79
+ output: "webp"
80
+ });
81
+
82
+ const r = await fetch(`http://localhost/screen-shot?${query.toString()}`, {
83
+ dispatcher
84
+ });
75
85
 
76
- const buffer = Buffer.from( await r.arrayBuffer());
86
+ const buffer = Buffer.from( await r.arrayBuffer());
77
87
 
78
- const contentType = r.headers.get("content-type");
88
+ await lf.writeAll(buffer);
89
+ });
79
90
 
80
- return new Content({
81
- reader: Readable.from([buffer]),
82
- contentType,
83
- suppressLog: true
91
+ return new TempFileResult(file, {
92
+ contentType: "image/webp"
84
93
  });
85
94
  }
86
95
  }