@entity-access/server-pages 1.0.29 → 1.0.31

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.
Files changed (78) hide show
  1. package/.vscode/settings.json +1 -0
  2. package/dist/Content.d.ts +6 -6
  3. package/dist/Content.d.ts.map +1 -1
  4. package/dist/Content.js +21 -37
  5. package/dist/Content.js.map +1 -1
  6. package/dist/Page.d.ts +11 -40
  7. package/dist/Page.d.ts.map +1 -1
  8. package/dist/Page.js +5 -3
  9. package/dist/Page.js.map +1 -1
  10. package/dist/ServerPages.d.ts +13 -5
  11. package/dist/ServerPages.d.ts.map +1 -1
  12. package/dist/ServerPages.js +99 -81
  13. package/dist/ServerPages.js.map +1 -1
  14. package/dist/core/AsyncStream.d.ts +16 -0
  15. package/dist/core/AsyncStream.d.ts.map +1 -0
  16. package/dist/core/AsyncStream.js +55 -0
  17. package/dist/core/AsyncStream.js.map +1 -0
  18. package/dist/core/FileApi.d.ts +5 -0
  19. package/dist/core/FileApi.d.ts.map +1 -0
  20. package/dist/core/FileApi.js +95 -0
  21. package/dist/core/FileApi.js.map +1 -0
  22. package/dist/core/LocalFile.d.ts +2 -1
  23. package/dist/core/LocalFile.d.ts.map +1 -1
  24. package/dist/core/LocalFile.js +8 -0
  25. package/dist/core/LocalFile.js.map +1 -1
  26. package/dist/core/RouteTree.js +1 -1
  27. package/dist/core/RouteTree.js.map +1 -1
  28. package/dist/core/SessionUser.d.ts +2 -2
  29. package/dist/core/SessionUser.d.ts.map +1 -1
  30. package/dist/core/SessionUser.js.map +1 -1
  31. package/dist/core/Wrapped.d.ts +70 -0
  32. package/dist/core/Wrapped.d.ts.map +1 -0
  33. package/dist/core/Wrapped.js +253 -0
  34. package/dist/core/Wrapped.js.map +1 -0
  35. package/dist/core/cached.d.ts +2 -0
  36. package/dist/core/cached.d.ts.map +1 -0
  37. package/dist/core/cached.js +3 -0
  38. package/dist/core/cached.js.map +1 -0
  39. package/dist/decorators/Authorize.d.ts +2 -0
  40. package/dist/decorators/Authorize.d.ts.map +1 -0
  41. package/dist/decorators/Authorize.js +3 -0
  42. package/dist/decorators/Authorize.js.map +1 -0
  43. package/dist/parsers/json/jsonParser.d.ts +2 -0
  44. package/dist/parsers/json/jsonParser.d.ts.map +1 -0
  45. package/dist/parsers/json/jsonParser.js +3 -0
  46. package/dist/parsers/json/jsonParser.js.map +1 -0
  47. package/dist/services/CookieService.d.ts +3 -3
  48. package/dist/services/CookieService.d.ts.map +1 -1
  49. package/dist/services/CookieService.js +2 -4
  50. package/dist/services/CookieService.js.map +1 -1
  51. package/dist/ssl/ACME.d.ts +37 -0
  52. package/dist/ssl/ACME.d.ts.map +1 -0
  53. package/dist/ssl/ACME.js +200 -0
  54. package/dist/ssl/ACME.js.map +1 -0
  55. package/dist/ssl/ChallengeStore.d.ts +8 -0
  56. package/dist/ssl/ChallengeStore.d.ts.map +1 -0
  57. package/dist/ssl/ChallengeStore.js +34 -0
  58. package/dist/ssl/ChallengeStore.js.map +1 -0
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +4 -6
  61. package/self-signed/cert.crt +22 -0
  62. package/self-signed/key.pem +27 -0
  63. package/src/Content.tsx +28 -43
  64. package/src/Page.tsx +18 -62
  65. package/src/ServerPages.ts +114 -76
  66. package/src/core/AsyncStream.ts +83 -0
  67. package/src/core/FileApi.ts +52 -0
  68. package/src/core/LocalFile.ts +11 -2
  69. package/src/core/RouteTree.ts +1 -1
  70. package/src/core/SessionUser.ts +2 -2
  71. package/src/core/Wrapped.ts +359 -0
  72. package/src/core/cached.ts +3 -0
  73. package/src/decorators/Authorize.ts +3 -0
  74. package/src/parsers/json/jsonParser.ts +3 -0
  75. package/src/services/CookieService.ts +4 -6
  76. package/src/ssl/ACME.ts +247 -0
  77. package/src/ssl/ChallengeStore.ts +26 -0
  78. package/test.js +1 -3
@@ -42,6 +42,7 @@
42
42
  "mailparser",
43
43
  "Millis",
44
44
  "mutler",
45
+ "Navi",
45
46
  "neurospeech",
46
47
  "nvarchar",
47
48
  "PGDATABASE",
package/dist/Content.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
- import { Response } from "express";
3
2
  import XNode from "./html/XNode.js";
4
3
  import { LocalFile } from "./core/LocalFile.js";
5
4
  import SessionUser from "./core/SessionUser.js";
5
+ import { WrappedResponse } from "./core/Wrapped.js";
6
6
  export interface IPageResult {
7
- send(res: Response): Promise<any>;
7
+ send(res: WrappedResponse): Promise<any>;
8
8
  }
9
9
  export declare class TempFileResult implements IPageResult {
10
10
  private file;
@@ -14,7 +14,7 @@ export declare class TempFileResult implements IPageResult {
14
14
  etag: boolean;
15
15
  immutable: boolean;
16
16
  constructor(file: LocalFile, { contentDisposition, cacheControl, maxAge, etag, immutable }?: Partial<TempFileResult>);
17
- send(res: Response<any, Record<string, any>>): Promise<void>;
17
+ send(res: WrappedResponse): Promise<void>;
18
18
  }
19
19
  export declare class FileResult implements IPageResult {
20
20
  private filePath;
@@ -25,13 +25,13 @@ export declare class FileResult implements IPageResult {
25
25
  immutable: boolean;
26
26
  private fileName;
27
27
  constructor(filePath: string, { contentDisposition, cacheControl, maxAge, etag, immutable }?: Partial<FileResult>);
28
- send(res: Response<any, Record<string, any>>): Promise<void>;
28
+ send(res: WrappedResponse): Promise<void>;
29
29
  }
30
30
  export declare class Redirect implements IPageResult {
31
31
  location: string;
32
32
  status: number;
33
33
  constructor(location: string, status?: number);
34
- send(res: Response): Promise<void>;
34
+ send(res: WrappedResponse): Promise<void>;
35
35
  }
36
36
  export default class Content implements IPageResult {
37
37
  static json(json: any, status?: number): Content;
@@ -41,6 +41,6 @@ export default class Content implements IPageResult {
41
41
  contentType: string;
42
42
  body: string | Buffer | Blob | XNode;
43
43
  private constructor();
44
- send(res: Response, user?: SessionUser): Promise<void>;
44
+ send(res: WrappedResponse, user?: SessionUser): Promise<void>;
45
45
  }
46
46
  //# sourceMappingURL=Content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../src/Content.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACrC;AAED,qBAAa,cAAe,YAAW,WAAW;IAQ1C,OAAO,CAAC,IAAI;IANT,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAY;IACvD,YAAY,UAAQ;IACpB,MAAM,SAAW;IACjB,IAAI,UAAS;IACb,SAAS,UAAS;gBAEb,IAAI,EAAE,SAAS,EACvB,EACI,kBAA6B,EAC7B,YAAmB,EACnB,MAAgB,EAChB,IAAY,EACZ,SAAiB,EACpB,GAAE,OAAO,CAAC,cAAc,CAAM;IASnC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAuB/C;AAED,qBAAa,UAAW,YAAW,WAAW;IAStC,OAAO,CAAC,QAAQ;IAPb,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAY;IACvD,YAAY,UAAQ;IACpB,MAAM,SAAW;IACjB,IAAI,UAAS;IACb,SAAS,UAAS;IACzB,OAAO,CAAC,QAAQ,CAAC;gBAEL,QAAQ,EAAE,MAAM,EACxB,EACI,kBAA6B,EAC7B,YAAmB,EACnB,MAAgB,EAChB,IAAY,EACZ,SAAiB,EACpB,GAAE,OAAO,CAAC,UAAU,CAAM;IAW/B,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAmB/C;AAED,qBAAa,QAAS,YAAW,WAAW;IAErB,QAAQ,EAAE,MAAM;IAAS,MAAM;gBAA/B,QAAQ,EAAE,MAAM,EAAS,MAAM,SAAM;IAIlD,IAAI,CAAC,GAAG,EAAE,QAAQ;CAI3B;AAED,MAAM,CAAC,OAAO,OAAO,OAAQ,YAAW,WAAW;WAEjC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,SAAM;WAQ5B,IAAI,CAAC,IAAI,KAAA,EAAE,MAAM,SAAM;WAQvB,MAAM,CAChB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IAMnB,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAE5C,OAAO;IAOM,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,WAAW;CA2BtD"}
1
+ {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../src/Content.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC5C;AAED,qBAAa,cAAe,YAAW,WAAW;IAQ1C,OAAO,CAAC,IAAI;IANT,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAY;IACvD,YAAY,UAAQ;IACpB,MAAM,SAAW;IACjB,IAAI,UAAS;IACb,SAAS,UAAS;gBAEb,IAAI,EAAE,SAAS,EACvB,EACI,kBAA6B,EAC7B,YAAmB,EACnB,MAAgB,EAChB,IAAY,EACZ,SAAiB,EACpB,GAAE,OAAO,CAAC,cAAc,CAAM;IASnC,IAAI,CAAC,GAAG,EAAE,eAAe;CAe5B;AAED,qBAAa,UAAW,YAAW,WAAW;IAStC,OAAO,CAAC,QAAQ;IAPb,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAY;IACvD,YAAY,UAAQ;IACpB,MAAM,SAAW;IACjB,IAAI,UAAS;IACb,SAAS,UAAS;IACzB,OAAO,CAAC,QAAQ,CAAC;gBAEL,QAAQ,EAAE,MAAM,EACxB,EACI,kBAA6B,EAC7B,YAAmB,EACnB,MAAgB,EAChB,IAAY,EACZ,SAAiB,EACpB,GAAE,OAAO,CAAC,UAAU,CAAM;IAW/B,IAAI,CAAC,GAAG,EAAE,eAAe;CAY5B;AAED,qBAAa,QAAS,YAAW,WAAW;IAErB,QAAQ,EAAE,MAAM;IAAS,MAAM;gBAA/B,QAAQ,EAAE,MAAM,EAAS,MAAM,SAAM;IAIlD,IAAI,CAAC,GAAG,EAAE,eAAe;CAIlC;AAED,MAAM,CAAC,OAAO,OAAO,OAAQ,YAAW,WAAW;WAEjC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,SAAM;WAQ5B,IAAI,CAAC,IAAI,KAAA,EAAE,MAAM,SAAM;WAQvB,MAAM,CAChB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IAMnB,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAE5C,OAAO;IAOM,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,WAAW;CA2B7D"}
package/dist/Content.js CHANGED
@@ -15,25 +15,17 @@ export class TempFileResult {
15
15
  this.immutable = immutable;
16
16
  }
17
17
  send(res) {
18
- return new Promise((resolve, reject) => {
19
- res = res.header("content-disposition", `${this.contentDisposition};filename=${encodeURIComponent(this.file.fileName)}`);
20
- res.sendFile(this.file.path, {
21
- headers: {
22
- "content-type": this.file.contentType
23
- },
24
- acceptRanges: true,
25
- cacheControl: this.cacheControl,
26
- maxAge: this.maxAge,
27
- etag: this.etag,
28
- immutable: this.immutable,
29
- lastModified: false
30
- }, (error) => {
31
- if (error) {
32
- reject(error);
33
- return;
34
- }
35
- resolve();
36
- });
18
+ res.setHeader("content-disposition", `${this.contentDisposition};filename=${encodeURIComponent(this.file.fileName)}`);
19
+ return res.sendFile(this.file.path, {
20
+ headers: {
21
+ "content-type": this.file.contentType
22
+ },
23
+ acceptRanges: true,
24
+ cacheControl: this.cacheControl,
25
+ maxAge: this.maxAge,
26
+ etag: this.etag,
27
+ immutable: this.immutable,
28
+ lastModified: false
37
29
  });
38
30
  }
39
31
  }
@@ -54,21 +46,13 @@ export class FileResult {
54
46
  this.fileName = parsed.base;
55
47
  }
56
48
  send(res) {
57
- return new Promise((resolve, reject) => {
58
- res = res.header("content-disposition", `${this.contentDisposition};filename=${encodeURIComponent(this.fileName)}`);
59
- res.sendFile(this.filePath, {
60
- acceptRanges: true,
61
- cacheControl: this.cacheControl,
62
- maxAge: this.maxAge,
63
- etag: this.etag,
64
- immutable: this.immutable
65
- }, (error) => {
66
- if (error) {
67
- reject(error);
68
- return;
69
- }
70
- resolve();
71
- });
49
+ res.setHeader("content-disposition", `${this.contentDisposition};filename=${encodeURIComponent(this.fileName)}`);
50
+ return res.sendFile(this.filePath, {
51
+ acceptRanges: true,
52
+ cacheControl: this.cacheControl,
53
+ maxAge: this.maxAge,
54
+ etag: this.etag,
55
+ immutable: this.immutable
72
56
  });
73
57
  }
74
58
  }
@@ -78,7 +62,7 @@ export class Redirect {
78
62
  this.status = status;
79
63
  }
80
64
  async send(res) {
81
- res.redirect(this.status, this.location);
65
+ return res.sendRedirect(this.location);
82
66
  }
83
67
  }
84
68
  export default class Content {
@@ -107,8 +91,8 @@ export default class Content {
107
91
  }
108
92
  async send(res, user) {
109
93
  const { status, body, contentType } = this;
110
- const r = res.setHeader("content-type", contentType)
111
- .status(status);
94
+ res.setHeader("content-type", contentType);
95
+ res.statusCode = status;
112
96
  if (typeof body === "string") {
113
97
  if (status >= 300) {
114
98
  const u = user ? `User: ${user.userID},${user.userName}` : "User: Anonymous";
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../src/Content.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../src/Content.tsx"],"names":[],"mappings":"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"}
package/dist/Page.d.ts CHANGED
@@ -2,49 +2,15 @@
2
2
  import Content, { IPageResult, Redirect } from "./Content.js";
3
3
  import { LocalFile } from "./core/LocalFile.js";
4
4
  import SessionUser from "./core/SessionUser.js";
5
+ import { WrappedRequest, WrappedResponse } from "./core/Wrapped.js";
6
+ import { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
5
7
  export declare const isPage: unique symbol;
6
8
  export interface IRouteCheck {
9
+ scope: ServiceProvider;
7
10
  method: string;
8
11
  current: string;
9
12
  path: string[];
10
- sessionUser: SessionUser;
11
- params: any;
12
- }
13
- export interface IPageContext {
14
- /**
15
- * path till the current folder where this page is located, including the name of current folder itself.
16
- */
17
- currentPath: string[];
18
- /**
19
- * Path to the next children to be precessed.
20
- */
21
- childPath: string[];
22
- /**
23
- * Query string if associated, empty object is always present.
24
- */
25
- query: any;
26
- body: any;
27
- url: string;
28
- signal: AbortSignal;
29
- /**
30
- * Request
31
- */
32
- /**
33
- * Response
34
- */
35
- /**
36
- * Request method
37
- */
38
- method: string;
39
- /**
40
- * Currently logged in user
41
- */
42
- sessionUser: SessionUser;
43
- /**
44
- * Actual file path of the page
45
- */
46
- filePath: string;
47
- disposables: Disposable[];
13
+ request: WrappedRequest;
48
14
  }
49
15
  export interface IFormData {
50
16
  fields: {
@@ -55,14 +21,19 @@ export interface IFormData {
55
21
  /**
56
22
  * Page should not contain any reference to underlying request/response objects.
57
23
  */
58
- export default class Page implements IPageContext {
24
+ export default class Page {
59
25
  static [isPage]: boolean;
60
26
  /**
61
27
  * This static method determines if the path can be handled by this page or not.
62
28
  * @param pageContext page related items
63
29
  * @returns true if it can handle the path, default is true
64
30
  */
65
- static canHandle(pageContext: IRouteCheck): boolean;
31
+ static canHandle(pageContext: IRouteCheck): boolean | Promise<boolean>;
32
+ request: WrappedRequest;
33
+ response: WrappedResponse;
34
+ get params(): {
35
+ [key: string]: string;
36
+ };
66
37
  signal: AbortSignal;
67
38
  currentPath: string[];
68
39
  childPath: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../src/Page.tsx"],"names":[],"mappings":";AAGA,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,eAAO,MAAM,MAAM,eAAmB,CAAC;AAGvC,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAOpB;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC;IAEX,IAAI,EAAE,GAAG,CAAC;IAEV,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAC,WAAW,CAAC;IACnB;;OAEG;IAEH;;OAEG;IAGH;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,YAAY;IAE7C,MAAM,CAAC,CAAC,MAAM,CAAC,UAAQ;IAGvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW;IAIzC,MAAM,EAAE,WAAW,CAAC;IAEpB,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,KAAK,EAAE,GAAG,CAAC;IAEX,IAAI,EAAE,GAAG,CAAC;IAEV,GAAG,EAAE,MAAM,CAAC;IAMZ,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,WAAW,CAAC;IAEzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,UAAU,EAAE,CAAM;IAE/B,OAAO,CAAC,eAAe,CAAC;;IAMxB,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAqClC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAM,EAAE,WAAW,SAAc;IAIvE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,SAAI;IAOjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAInC,SAAS,CAAC,QAAQ,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAchD,SAAS,CAAC,WAAW,CAAC,KAAK,KAAA,EAAE,MAAM,SAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAczE"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../src/Page.tsx"],"names":[],"mappings":";AAGA,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E,eAAO,MAAM,MAAM,eAAmB,CAAC;AAGvC,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,IAAI;IAErB,MAAM,CAAC,CAAC,MAAM,CAAC,UAAQ;IAGvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE,OAAO,EAAE,cAAc,CAAC;IAExB,QAAQ,EAAE,eAAe,CAAC;IAE1B,IAAI,MAAM;;MAET;IAED,MAAM,EAAE,WAAW,CAAC;IAEpB,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,KAAK,EAAE,GAAG,CAAC;IAEX,IAAI,EAAE,GAAG,CAAC;IAEV,GAAG,EAAE,MAAM,CAAC;IAMZ,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,EAAE,WAAW,CAAC;IAEzB,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,UAAU,EAAE,CAAM;IAE/B,OAAO,CAAC,eAAe,CAAqB;;IAM5C,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAqClC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAM,EAAE,WAAW,SAAc;IAIvE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,SAAI;IAOjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAInC,SAAS,CAAC,QAAQ,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAchD,SAAS,CAAC,WAAW,CAAC,KAAK,KAAA,EAAE,MAAM,SAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAczE"}
package/dist/Page.js CHANGED
@@ -17,6 +17,9 @@ class Page {
17
17
  static canHandle(pageContext) {
18
18
  return true;
19
19
  }
20
+ get params() {
21
+ return this.request?.query;
22
+ }
20
23
  constructor() {
21
24
  this.disposables = [];
22
25
  this.cacheControl = "no-cache, no-store, max-age=0";
@@ -25,13 +28,13 @@ class Page {
25
28
  return this.notFound();
26
29
  }
27
30
  readFormData() {
28
- this.formDataPromise ??= (async () => {
31
+ return this.formDataPromise ??= (async () => {
29
32
  let tempFolder;
30
33
  const result = {
31
34
  fields: {},
32
35
  files: []
33
36
  };
34
- const req = this.req;
37
+ const req = this.request;
35
38
  const bb = busboy({ headers: req.headers, defParamCharset: "utf8" });
36
39
  const tasks = [];
37
40
  await new Promise((resolve, reject) => {
@@ -55,7 +58,6 @@ class Page {
55
58
  await Promise.all(tasks);
56
59
  return result;
57
60
  })();
58
- return this.formDataPromise;
59
61
  }
60
62
  content(body, status = 200, contentType = "text/html") {
61
63
  return Content.create({ body, status, contentType });
package/dist/Page.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../src/Page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../src/Page.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ /// <reference types="node" resolution-mode="require"/>
2
4
  import { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
3
- import { Request, Response } from "express";
4
5
  import * as http from "http";
6
+ import * as http2 from "http2";
7
+ import { SecureContext } from "node:tls";
8
+ import { IAcmeOptions } from "./ssl/ACME.js";
5
9
  export default class ServerPages {
6
10
  static create(globalServiceProvider?: ServiceProvider): ServerPages;
7
11
  private root;
@@ -16,10 +20,14 @@ export default class ServerPages {
16
20
  * All services should be registered before calling build
17
21
  * @param app Express App
18
22
  */
19
- build(app?: import("express-serve-static-core").Express, { createSocketService, port }?: {
23
+ build({ createSocketService, port, protocol, disableHttp2Warning, SNICallback, acmeOptions }: {
20
24
  createSocketService?: boolean;
21
- port?: number;
22
- }): Promise<http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>>;
23
- protected process(req: Request, resp: Response): Promise<void>;
25
+ port: number;
26
+ disableHttp2Warning?: boolean;
27
+ protocol: "http" | "http2" | "https2";
28
+ SNICallback?: (servername: string, cb: (err: Error | null, ctx?: SecureContext) => void) => void;
29
+ acmeOptions?: IAcmeOptions;
30
+ }): Promise<http2.Http2Server | http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>>;
31
+ protected process(req: any, resp: any): Promise<void>;
24
32
  }
25
33
  //# sourceMappingURL=ServerPages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerPages.d.ts","sourceRoot":"","sources":["../src/ServerPages.ts"],"names":[],"mappings":";AACA,OAAO,EAAqB,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAWrD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,MAAM,CAAC,OAAO,OAAO,WAAW;WAEd,MAAM,CAAC,qBAAqB,GAAE,eAAuC;IAKnF,OAAO,CAAC,IAAI,CAA8B;IAE1C;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY;IASlD,oBAAoB;IAI3B;;;OAGG;IACU,KAAK,CAAC,GAAG,8CAAY,EAAE,EAAE,mBAA0B,EAAE,IAAS,EAAE;;;KAAK;cA4BlE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ;CA+EvD"}
1
+ {"version":3,"file":"ServerPages.d.ts","sourceRoot":"","sources":["../src/ServerPages.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAqB,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAOhG,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,WAAW;WAEd,MAAM,CAAC,qBAAqB,GAAE,eAAuC;IAKnF,OAAO,CAAC,IAAI,CAA8B;IAE1C;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY;IASlD,oBAAoB;IAI3B;;;OAGG;IACU,KAAK,CAAC,EACf,mBAA0B,EAC1B,IAAW,EACX,QAAiB,EACjB,mBAA2B,EAC3B,WAAW,EACX,WAAW,EACd,EAAC;QACE,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;QACtC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,KAAK,IAAI,CAAC;QACjG,WAAW,CAAC,EAAE,YAAY,CAAA;KAC7B;cAoDe,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;CAgF9C"}
@@ -45,18 +45,17 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
45
45
  });
46
46
  /* eslint-disable no-console */
47
47
  import { RegisterSingleton, ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
48
- import express from "express";
49
48
  import Page from "./Page.js";
50
49
  import Content from "./Content.js";
51
- import SessionUser from "./core/SessionUser.js";
52
50
  import RouteTree from "./core/RouteTree.js";
53
- import CookieService from "./services/CookieService.js";
54
- import cookieParser from "cookie-parser";
55
- import bodyParser from "body-parser";
56
51
  import { fileURLToPath } from "node:url";
57
52
  import { dirname, join } from "node:path";
58
53
  import { Server } from "socket.io";
54
+ import * as http from "http";
55
+ import * as http2 from "http2";
59
56
  import SocketService from "./socket/SocketService.js";
57
+ import { Wrapped } from "./core/Wrapped.js";
58
+ import ACME from "./ssl/ACME.js";
60
59
  RegisterSingleton;
61
60
  export default class ServerPages {
62
61
  constructor() {
@@ -86,12 +85,9 @@ export default class ServerPages {
86
85
  * All services should be registered before calling build
87
86
  * @param app Express App
88
87
  */
89
- async build(app = express(), { createSocketService = true, port = 80 } = {}) {
88
+ async build({ createSocketService = true, port = 8080, protocol = "http", disableHttp2Warning = false, SNICallback, acmeOptions }) {
90
89
  try {
91
- // etag must be set by individual request processors if needed.
92
- app.set("etag", false);
93
- app.use(cookieParser());
94
- app.use(bodyParser.json());
90
+ let httpServer = null;
95
91
  let socketServer = null;
96
92
  if (createSocketService) {
97
93
  socketServer = new Server();
@@ -99,13 +95,36 @@ export default class ServerPages {
99
95
  ss.attach(socketServer);
100
96
  await ss.init();
101
97
  }
102
- app.all(/./, (req, res, next) => this.process(req, res).then(next, next));
103
- return new Promise((resolve, reject) => {
104
- const server = app.listen(port, () => {
105
- resolve(server);
98
+ switch (protocol) {
99
+ case "http":
100
+ httpServer = http.createServer((req, res) => this.process(req, res));
101
+ break;
102
+ case "https2":
103
+ let sc = null;
104
+ SNICallback ??= (name, cb) => {
105
+ const acme = ServiceProvider.resolve(this, ACME);
106
+ acme.getSecureContext({ ...(acmeOptions ?? {}), host: name }).then((v) => {
107
+ cb(null, v);
108
+ }, cb);
109
+ };
110
+ httpServer = http2.createSecureServer({
111
+ SNICallback
112
+ }, (req, res) => this.process(req, res));
113
+ break;
114
+ case "http2":
115
+ httpServer = http2.createSecureServer({}, (req, res) => this.process(req, res));
116
+ if (!disableHttp2Warning) {
117
+ console.warn("Http2 without SSL should not be used in production");
118
+ }
119
+ break;
120
+ }
121
+ await new Promise((resolve, reject) => {
122
+ const server = httpServer.listen(port, () => {
123
+ resolve();
106
124
  });
107
125
  socketServer?.attach(server);
108
126
  });
127
+ return httpServer;
109
128
  }
110
129
  catch (error) {
111
130
  console.error(error);
@@ -113,84 +132,83 @@ export default class ServerPages {
113
132
  return null;
114
133
  }
115
134
  async process(req, resp) {
116
- const env_1 = { stack: [], error: void 0, hasError: false };
135
+ req = Wrapped.request(req);
136
+ resp = Wrapped.response(req, resp);
137
+ req.response = resp;
138
+ if (req.processed) {
139
+ return;
140
+ }
141
+ req.processed = true;
117
142
  try {
118
- if (req.processed) {
119
- return;
120
- }
121
- req.processed = true;
122
- // defaulting to no cache
123
- // static content delivery should override this
124
- resp.setHeader("cache-control", "no-cache");
125
- const scope = __addDisposableResource(env_1, ServiceProvider.createScope(this), false);
126
- let sent = false;
127
- const acceptJson = req.accepts().some((s) => /\/json$/i.test(s));
143
+ const env_1 = { stack: [], error: void 0, hasError: false };
128
144
  try {
129
- const cookieService = scope.resolve(CookieService);
145
+ // defaulting to no cache
146
+ // static content delivery should override this
147
+ resp.setHeader("cache-control", "no-cache");
148
+ const scope = __addDisposableResource(env_1, ServiceProvider.createScope(this), false);
149
+ let sent = false;
150
+ const acceptJson = req.accepts().some((s) => /\/json$/i.test(s));
130
151
  try {
131
- await cookieService.createSessionUser(req, resp);
152
+ const path = req.path.split("/").filter((x) => x);
153
+ const method = req.method;
154
+ const { pageClass, childPath } = (await this.root.getRoute({
155
+ scope,
156
+ method,
157
+ current: "",
158
+ path,
159
+ request: req
160
+ })) ?? {
161
+ pageClass: Page,
162
+ childPath: path
163
+ };
164
+ const page = scope.create(pageClass);
165
+ page.method = method;
166
+ page.childPath = childPath;
167
+ page.request = req;
168
+ page.response = resp;
169
+ const content = await page.all(page.params);
170
+ resp.setHeader("cache-control", page.cacheControl);
171
+ resp.removeHeader("etag");
172
+ sent = true;
173
+ await content.send(resp);
132
174
  }
133
175
  catch (error) {
134
- console.error(error);
135
- }
136
- const sessionUser = req.user;
137
- scope.add(SessionUser, sessionUser);
138
- const path = req.path.split("/").filter((x) => x);
139
- const method = req.method;
140
- const params = { ...req.params, ...req.query, ...req.body ?? {} };
141
- const { pageClass, childPath } = (await this.root.getRoute({
142
- method,
143
- current: "",
144
- path,
145
- params,
146
- sessionUser
147
- })) ?? {
148
- pageClass: Page,
149
- childPath: path
150
- };
151
- const page = scope.create(pageClass);
152
- page.method = method;
153
- page.childPath = childPath;
154
- page.body = req.body;
155
- page.query = req.query;
156
- page.sessionUser = sessionUser;
157
- page.req = req;
158
- page.res = resp;
159
- const content = await page.all(params);
160
- resp.setHeader("cache-control", page.cacheControl);
161
- resp.removeHeader("etag");
162
- sent = true;
163
- await content.send(resp);
164
- }
165
- catch (error) {
166
- if (!sent) {
167
- try {
168
- if (acceptJson || error.errorModel) {
169
- await Content.json({
170
- ...error.errorModel ?? {},
171
- message: error.message ?? error,
172
- detail: error.stack ?? error,
173
- }, 500).send(resp);
174
- return;
176
+ if (!sent) {
177
+ try {
178
+ if (acceptJson || error.errorModel) {
179
+ await Content.json({
180
+ ...error.errorModel ?? {},
181
+ message: error.message ?? error,
182
+ detail: error.stack ?? error,
183
+ }, 500).send(resp);
184
+ return;
185
+ }
186
+ const content = Content.html(`<!DOCTYPE html>\n<html><body><pre>Server Error for ${req.url}\r\n${error?.stack ?? error}</pre></body></html>`, 500);
187
+ await content.send(resp);
175
188
  }
176
- const content = Content.html(`<!DOCTYPE html>\n<html><body><pre>Server Error for ${req.url}\r\n${error?.stack ?? error}</pre></body></html>`, 500);
177
- await content.send(resp);
178
- }
179
- catch (e1) {
180
- resp.send(e1.stack ?? e1);
181
- console.error(e1);
189
+ catch (e1) {
190
+ resp.send(e1.stack ?? e1, 500);
191
+ console.error(e1);
192
+ }
193
+ return;
182
194
  }
183
- return;
195
+ console.error(error);
184
196
  }
185
- console.error(error);
186
197
  }
187
- }
188
- catch (e_1) {
189
- env_1.error = e_1;
190
- env_1.hasError = true;
198
+ catch (e_1) {
199
+ env_1.error = e_1;
200
+ env_1.hasError = true;
201
+ }
202
+ finally {
203
+ __disposeResources(env_1);
204
+ }
191
205
  }
192
206
  finally {
193
- __disposeResources(env_1);
207
+ if (Array.isArray(req.disposables)) {
208
+ for (const iterator of req.disposables) {
209
+ iterator[Symbol.dispose]?.();
210
+ }
211
+ }
194
212
  }
195
213
  }
196
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServerPages.js","sourceRoot":"","sources":["../src/ServerPages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,OAA8B,MAAM,SAAS,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAU,MAAM,WAAW,CAAC;AAE3C,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD,iBAAiB,CAAA;AACjB,MAAM,CAAC,OAAO,OAAO,WAAW;IAAhC;QAOY,SAAI,GAAc,IAAI,SAAS,EAAE,CAAC;IAmI9C,CAAC;IAxIU,MAAM,CAAC,MAAM,CAAC,wBAAyC,IAAI,eAAe,EAAE;QAC/E,MAAM,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;IACd,CAAC;IAID;;;;OAIG;IACI,cAAc,CAAC,MAAc,EAAE,QAAgB,GAAG;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEM,oBAAoB;QACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;IAClF,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,EAAE,EAAE,EAAE,mBAAmB,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE;QAC9E,IAAI,CAAC;YACD,+DAA+D;YAC/D,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAE3B,IAAI,YAAY,GAAG,IAAc,CAAC;YAClC,IAAI,mBAAmB,EAAE,CAAC;gBACtB,YAAY,GAAG,IAAI,MAAM,EAAE,CAAC;gBAC5B,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,aAAoB,CAAkB,CAAC;gBAC/E,EAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACjC,MAAO,EAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1E,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBACjC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;gBACH,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,GAAY,EAAE,IAAc;;;YAEhD,IAAI,GAAW,CAAC,SAAS,EAAE,CAAC;gBACxB,OAAO;YACX,CAAC;YACA,GAAW,CAAC,SAAS,GAAG,IAAI,CAAC;YAE9B,yBAAyB;YACzB,+CAA+C;YAC/C,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAE5C,MAAM,KAAK,kCAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAA,CAAC;YAChD,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC;gBAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAEnD,IAAI,CAAC;oBACD,MAAM,aAAa,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;gBAED,MAAM,WAAW,GAAI,GAAW,CAAC,IAAI,CAAC;gBACtC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC1B,MAAM,MAAM,GAAG,EAAE,GAAI,GAAG,CAAC,MAAM,EAAE,GAAI,GAAG,CAAC,KAAK,EAAE,GAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;gBACrE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACvD,MAAM;oBACN,OAAO,EAAE,EAAE;oBACX,IAAI;oBACJ,MAAM;oBACN,WAAW;iBACd,CAAC,CAAC,IAAI;oBACH,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;iBAClB,CAAC;gBACF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC9B,IAAY,CAAC,GAAG,GAAG,GAAG,CAAC;gBACvB,IAAY,CAAC,GAAG,GAAG,IAAI,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC1B,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,IAAI,CAAC;wBAED,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BACjC,MAAM,OAAO,CAAC,IAAI,CACV;gCACI,GAAI,KAAK,CAAC,UAAU,IAAI,EAAE;gCAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;gCAC/B,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK;6BAC/B,EACP,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAClB,OAAO;wBACX,CAAC;wBAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,CAAC,GAAG,OAAO,KAAK,EAAE,KAAK,IAAI,KAAK,sBAAsB,EAAE,GAAG,CAAC,CAAC;wBACnJ,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBAAC,OAAO,EAAE,EAAE,CAAC;wBACV,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;wBAC1B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC;oBACD,OAAO;gBACX,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;;;;;;;;;KACJ;CAEJ"}
1
+ {"version":3,"file":"ServerPages.js","sourceRoot":"","sources":["../src/ServerPages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ export declare abstract class AsyncStream implements Disposable {
3
+ abstract read(n: number): Promise<Buffer>;
4
+ abstract [Symbol.dispose](): any;
5
+ }
6
+ export declare class AsyncFileStream extends AsyncStream {
7
+ private readonly filePath;
8
+ readPosition: number;
9
+ readonly size: number;
10
+ private fd;
11
+ private buffer;
12
+ constructor(filePath: string, readPosition?: number, lockFile?: boolean, bufferSize?: number);
13
+ read(): Promise<Buffer>;
14
+ [Symbol.dispose](): void;
15
+ }
16
+ //# sourceMappingURL=AsyncStream.d.ts.map