@_linked/server 2.11.0 → 2.12.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @\_linked/server
2
2
 
3
+ ## 2.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#73](https://github.com/linked-fw/server/pull/73) [`48fb780`](https://github.com/linked-fw/server/commit/48fb78023400bf54b63532639a4c4bf2c3fd5e44) Thanks [@flyon](https://github.com/flyon)! - `/resized/*` reads its source through the file store instead of fetching it, and the route is documented.
8
+
9
+ Once `src` had to name an image the store already holds, fetching its public URL
10
+ was a round-trip to ask a web server for a file this process can open — over the
11
+ loopback interface, for a `LocalFileStore`. The bytes now come from
12
+ `LinkedFileStorage.getFile`.
13
+
14
+ **The route makes no outbound HTTP request at all.** That retires the machinery
15
+ that existed to make one safe: `fetchStoredImage`, the 10s timeout, the 25MB
16
+ streaming cap and `redirect: 'error'` are all gone. The origin and existence
17
+ checks stay, because they decide _which_ stored file a caller may address.
18
+
19
+ `?src=<full URL>` still works exactly as before — the URL is resolved to a key
20
+ and read from the store — so this is a minor, not the major the backlog item
21
+ assumed it would need.
22
+
23
+ Also: `resizedImagesPurpose` is registered at the point of use rather than as an
24
+ import side effect, so clearing the registry mid-process (as
25
+ `LinkedFileStorage.resetForTests()` does) can no longer leave `getStore`
26
+ throwing inside a request handler.
27
+
28
+ The readme gains a **Resizing images** section: both request forms, what is
29
+ refused and why, and how to point the derivative cache at a different store —
30
+ with the trade-off spelled out, since a local disk cache is per-instance and
31
+ dies with the container while an object-store cache is shared and survives
32
+ deploys.
33
+
3
34
  ## 2.11.0
4
35
 
5
36
  ### Minor Changes
@@ -1,15 +1,16 @@
1
1
  ---
2
2
  summary: >
3
- /resized/* still takes `?src=` as a full URL and fetches it over HTTP, even
4
- though the source is now required to be an image this app already stores. The
5
- fetch is a network round-trip for bytes the process can read directly, and it
6
- keeps a URL-shaped API for what is really a store key. Collapsing it to
7
- getFile(key) removes the last of the SSRF surface and deletes code, but it
8
- changes the route's contract, so it needs a major.
3
+ DONE. /resized/* no longer fetches anything: both branches read and write
4
+ through LinkedFileStorage. The `?src=` parameter still accepts a full URL, so
5
+ nothing broke -- the URL is resolved to a store key and the bytes are read
6
+ directly, which turned out not to need the major release this item assumed.
7
+ Kept as the record of why the route looks the way it does.
9
8
  ---
10
9
 
11
10
  # 001 — Resize by store key instead of fetching a URL
12
11
 
12
+ > **Done.** Delivered without the breaking change this item expected: see *Resolution* at the end.
13
+
13
14
  ## Where this came from
14
15
 
15
16
  `?src=` used to be handed straight to `fetch`, which made every deployment an
@@ -79,3 +80,25 @@ SSRF fix — breaks visibly rather than silently.
79
80
 
80
81
  - `src/utils/resizeSource.ts` — the guard this would let go.
81
82
  - `src/tests/resized-images.test.ts` — the behaviour that must keep passing.
83
+
84
+ ## Resolution
85
+
86
+ Done, and the "why it is not done yet" above turned out to be wrong.
87
+
88
+ The assumption was that dropping the fetch meant dropping `?src=<full URL>`,
89
+ which would break callers and need a major. It does not. The URL form still
90
+ works: `resolveResizeSource` turns it into a store key, and the bytes are then
91
+ read with `LinkedFileStorage.getFile(key)` instead of being fetched over HTTP.
92
+ The request contract is unchanged, so this shipped as a minor.
93
+
94
+ What went with the fetch: `fetchStoredImage`, the 10s timeout, the 25MB
95
+ streaming cap and `redirect: 'error'`. All of that existed to make an outbound
96
+ request safe, and there is no outbound request any more — the route cannot be
97
+ pointed at anything, rather than being guarded against it.
98
+
99
+ The local branch had already moved to the store, so both halves now read and
100
+ write the same way.
101
+
102
+ Open question 2 — whether to add a `?key=` parameter — was not needed and is
103
+ dropped. Question 1, whether anyone passes a full URL, no longer matters either
104
+ way, since both forms cost the same now.
@@ -40,7 +40,7 @@ import * as React from 'react';
40
40
  import { renderToPipeableStream, renderToStaticMarkup } from 'react-dom/server';
41
41
  import { StaticRouter } from 'react-router-dom/server.js';
42
42
  import sharp from 'sharp';
43
- import { fetchStoredImage, findStoredKey, resolveResizeSource, } from '../utils/resizeSource.js';
43
+ import { findStoredKey, resolveResizeSource, } from '../utils/resizeSource.js';
44
44
  import { Transform } from 'stream';
45
45
  import { CookieJar } from 'tough-cookie';
46
46
  import { lincdServer } from '../ontologies/lincd-server.js';
@@ -679,11 +679,15 @@ let LinkedServer = class LinkedServer extends Shape {
679
679
  // // if (process.env.NODE_ENV === 'development' && process.env.NUM_WORKER_PROCESSES) {
680
680
  // // imageFileName = imageFileName.replace('localhost', '127.0.0.1');
681
681
  // // }
682
- // Fetch the URL rebuilt from the validated key, never the caller's
683
- // string, and under a timeout, a size cap and redirect: 'error'. The
684
- // redirect rule is not optional: fetch follows redirects by default, so
685
- // a 302 would otherwise undo the origin check one hop later.
686
- const image = await fetchStoredImage(source.url);
682
+ // Read the bytes out of the store rather than fetching its public URL.
683
+ //
684
+ // Once `src` has to name an image the store already holds, fetching is
685
+ // a round-trip to ask a web server for a file this process can open --
686
+ // over the loopback interface, for a LocalFileStore. Reading directly
687
+ // is faster, and it means the route makes no outbound request at all:
688
+ // there is no origin to re-check after a redirect, no timeout to tune
689
+ // and no response size to cap, because there is no response.
690
+ const image = await LinkedFileStorage.getFile(storedKey);
687
691
  // if image is null, return 404
688
692
  if (!image) {
689
693
  res.status(404).send({ error: 'Could not fetch image from URL' });
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedServer.js","sourceRoot":"","sources":["../../../src/shapes/LinkedServer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinkedServer.js","sourceRoot":"","sources":["../../../src/shapes/LinkedServer.tsx"],"names":[],"mappings":"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"}
@@ -65,22 +65,3 @@ export declare function findStoredKey(keys: string[], fileExists: (key: string)
65
65
  * key that climbs out of it.
66
66
  */
67
67
  export declare function resolveResizeSource(src: string, accessURL: string | undefined): ResizeSourceDecision;
68
- /** Fetch limits, so an allowed source still cannot exhaust the process. */
69
- export declare const RESIZE_FETCH_TIMEOUT_MS = 10000;
70
- export declare const RESIZE_MAX_BYTES: number;
71
- /**
72
- * Fetch a validated store URL under a timeout and a size cap.
73
- *
74
- * `redirect: 'error'` matters as much as the origin check: `fetch` follows
75
- * redirects by default, so without it a store that 302s anywhere would undo the
76
- * validation one hop later.
77
- *
78
- * The cap is enforced while streaming rather than after `arrayBuffer()`, so a
79
- * response that lies about `content-length`, or omits it, still cannot buffer
80
- * more than the limit.
81
- */
82
- export declare function fetchStoredImage(url: string, { timeoutMs, maxBytes, fetchImpl, }?: {
83
- timeoutMs?: number;
84
- maxBytes?: number;
85
- fetchImpl?: typeof globalThis.fetch;
86
- }): Promise<Buffer | null>;
@@ -85,60 +85,4 @@ export function resolveResizeSource(src, accessURL) {
85
85
  function trimTrailingSlash(value) {
86
86
  return value.endsWith('/') ? value.slice(0, -1) : value;
87
87
  }
88
- /** Fetch limits, so an allowed source still cannot exhaust the process. */
89
- export const RESIZE_FETCH_TIMEOUT_MS = 10000;
90
- export const RESIZE_MAX_BYTES = 25 * 1024 * 1024;
91
- /**
92
- * Fetch a validated store URL under a timeout and a size cap.
93
- *
94
- * `redirect: 'error'` matters as much as the origin check: `fetch` follows
95
- * redirects by default, so without it a store that 302s anywhere would undo the
96
- * validation one hop later.
97
- *
98
- * The cap is enforced while streaming rather than after `arrayBuffer()`, so a
99
- * response that lies about `content-length`, or omits it, still cannot buffer
100
- * more than the limit.
101
- */
102
- export async function fetchStoredImage(url, { timeoutMs = RESIZE_FETCH_TIMEOUT_MS, maxBytes = RESIZE_MAX_BYTES, fetchImpl = globalThis.fetch, } = {}) {
103
- var _a, _b;
104
- const controller = new AbortController();
105
- const timer = setTimeout(() => controller.abort(), timeoutMs);
106
- try {
107
- const response = await fetchImpl(url, {
108
- redirect: 'error',
109
- signal: controller.signal,
110
- });
111
- if (!response.ok) {
112
- return null;
113
- }
114
- const declared = Number((_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get) === null || _b === void 0 ? void 0 : _b.call(_a, 'content-length'));
115
- if (Number.isFinite(declared) && declared > maxBytes) {
116
- return null;
117
- }
118
- if (!response.body) {
119
- // No stream to meter (a mocked or non-streaming response): fall back to
120
- // buffering, then check. Bounded by the declared length above where present.
121
- const buffer = Buffer.from(await response.arrayBuffer());
122
- return buffer.byteLength > maxBytes ? null : buffer;
123
- }
124
- const chunks = [];
125
- let total = 0;
126
- for await (const chunk of response.body) {
127
- total += chunk.byteLength;
128
- if (total > maxBytes) {
129
- controller.abort();
130
- return null;
131
- }
132
- chunks.push(Buffer.from(chunk));
133
- }
134
- return Buffer.concat(chunks);
135
- }
136
- catch (err) {
137
- console.warn('Could not fetch image from URL: ' + err);
138
- return null;
139
- }
140
- finally {
141
- clearTimeout(timer);
142
- }
143
- }
144
88
  //# sourceMappingURL=resizeSource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizeSource.js","sourceRoot":"","sources":["../../../src/utils/resizeSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resizeSource.js","sourceRoot":"","sources":["../../../src/utils/resizeSource.ts"],"names":[],"mappings":"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"}
@@ -17,18 +17,17 @@
17
17
  *
18
18
  * The constant lives here rather than in core's `FileStorePurposes` because
19
19
  * core never writes a resized image; the package that owns the concept owns the
20
- * name. Registering it in the same module that exports it means importing the
21
- * constant is the registration, so ordering takes care of itself.
20
+ * name.
22
21
  */
23
22
  export declare const resizedImagesPurpose = "resizedImages";
24
23
  /**
25
- * The store for resized derivatives, registering the purpose if it is missing.
24
+ * The store for resized derivatives.
26
25
  *
27
- * Registering again here rather than relying only on the import above, because
28
- * the registry is process-global state that can be cleared out from under this
29
- * module — `LinkedFileStorage.resetForTests()` does exactly that, and an
30
- * unregistered purpose makes `getStore` throw. Re-registering is idempotent
31
- * (an existing description is kept), so this is cheap insurance against an
32
- * ordering problem that would otherwise surface as a hung request.
26
+ * The purpose is registered here, at the point of use, rather than as a side
27
+ * effect of importing this module. The registry is process-global and can be
28
+ * cleared while the process lives — `LinkedFileStorage.resetForTests()` does
29
+ * exactly that — and an unregistered purpose makes `getStore` throw, which in a
30
+ * request handler surfaces as a hung request rather than an error. Registering
31
+ * on the way past is idempotent and removes the ordering rule entirely.
33
32
  */
34
33
  export declare function getResizedImagesStore(): import("@_linked/core/interfaces/IFileStore").IFileStore;
@@ -18,24 +18,23 @@ import { LinkedFileStorage } from '@_linked/core/utils/LinkedFileStorage';
18
18
  *
19
19
  * The constant lives here rather than in core's `FileStorePurposes` because
20
20
  * core never writes a resized image; the package that owns the concept owns the
21
- * name. Registering it in the same module that exports it means importing the
22
- * constant is the registration, so ordering takes care of itself.
21
+ * name.
23
22
  */
24
23
  export const resizedImagesPurpose = 'resizedImages';
25
- const description = 'Resized image derivatives generated by GET /resized/*. Reproducible from the uploads store, so safe to clear.';
26
- LinkedFileStorage.registerPurpose(resizedImagesPurpose, { description });
27
24
  /**
28
- * The store for resized derivatives, registering the purpose if it is missing.
25
+ * The store for resized derivatives.
29
26
  *
30
- * Registering again here rather than relying only on the import above, because
31
- * the registry is process-global state that can be cleared out from under this
32
- * module — `LinkedFileStorage.resetForTests()` does exactly that, and an
33
- * unregistered purpose makes `getStore` throw. Re-registering is idempotent
34
- * (an existing description is kept), so this is cheap insurance against an
35
- * ordering problem that would otherwise surface as a hung request.
27
+ * The purpose is registered here, at the point of use, rather than as a side
28
+ * effect of importing this module. The registry is process-global and can be
29
+ * cleared while the process lives — `LinkedFileStorage.resetForTests()` does
30
+ * exactly that — and an unregistered purpose makes `getStore` throw, which in a
31
+ * request handler surfaces as a hung request rather than an error. Registering
32
+ * on the way past is idempotent and removes the ordering rule entirely.
36
33
  */
37
34
  export function getResizedImagesStore() {
38
- LinkedFileStorage.registerPurpose(resizedImagesPurpose, { description });
35
+ LinkedFileStorage.registerPurpose(resizedImagesPurpose, {
36
+ description: 'Resized image derivatives generated by GET /resized/*. Reproducible from the uploads store, so safe to clear.',
37
+ });
39
38
  return LinkedFileStorage.getStore(resizedImagesPurpose);
40
39
  }
41
40
  //# sourceMappingURL=resizedImagesPurpose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizedImagesPurpose.js","sourceRoot":"","sources":["../../../src/utils/resizedImagesPurpose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD,MAAM,WAAW,GACf,+GAA+G,CAAC;AAElH,iBAAiB,CAAC,eAAe,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB;IACnC,iBAAiB,CAAC,eAAe,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACzE,OAAO,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"resizedImagesPurpose.js","sourceRoot":"","sources":["../../../src/utils/resizedImagesPurpose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB;IACnC,iBAAiB,CAAC,eAAe,CAAC,oBAAoB,EAAE;QACtD,WAAW,EACT,+GAA+G;KAClH,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC1D,CAAC"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "type": "git",
11
11
  "url": "git+https://github.com/linked-fw/server.git"
12
12
  },
13
- "version": "2.11.0",
13
+ "version": "2.12.0",
14
14
  "packageManager": "npm@11.19.1",
15
15
  "linkedPackage": true,
16
16
  "type": "module",
package/readme.md CHANGED
@@ -347,6 +347,52 @@ Such singletons (e.g. `LinkedStorage.setDefaultDataset`) often hold live connect
347
347
  This section will be a brief overview of the shapes that are included in this package, along with example usage of each
348
348
  shape.
349
349
 
350
+ ### Resizing images
351
+
352
+ `GET /resized/*` serves a resized copy of an image the app stores, generating and caching it on first request. It is
353
+ registered **before** the `apiOnly` guard, so it is available on an API-only server too.
354
+
355
+ Two forms:
356
+
357
+ ```
358
+ GET /resized/<key>?w=200 # a key in the uploads store
359
+ GET /resized/x?src=<url>&h=100 # a public URL of a file in the uploads store
360
+ ```
361
+
362
+ `w` and `h` are both optional but at least one is needed; with neither, the request redirects to the original under
363
+ `/uploads`. Pass one to scale by that dimension, or both to fit the exact box.
364
+
365
+ **Only images the app already stores can be resized.** A `src` that does not resolve to a key in the file store is
366
+ refused with `400 Unsupported image source`, and a key the store does not hold gives `404`. The route makes no
367
+ outbound HTTP request of its own: it reads the bytes through `LinkedFileStorage`. This matters — `src` used to be
368
+ fetched as given, which made the route an open proxy into its own network, and the result was written to the public
369
+ store and handed back as a URL.
370
+
371
+ #### Where the derivatives go
372
+
373
+ Resized images are written under a `resized/` prefix beside the original, through a file store of their own:
374
+
375
+ ```ts
376
+ import { LinkedFileStorage } from '@_linked/core/utils/LinkedFileStorage';
377
+ import { resizedImagesPurpose } from '@_linked/server/utils/resizedImagesPurpose';
378
+ import { LocalFileStore } from '@_linked/server/shapes/filestores/LocalFileStore';
379
+
380
+ // keep the originals wherever they are, but cache derivatives on the local disk
381
+ LinkedFileStorage.setStore(resizedImagesPurpose, new LocalFileStore('resize-cache'));
382
+ ```
383
+
384
+ Configure nothing and it resolves to the default store, alongside the uploads — which is what the route did before
385
+ the purpose existed.
386
+
387
+ It is worth deciding rather than inheriting. A local disk cache is free and fast, but it is per-instance and goes
388
+ with the container: behind PM2 multicore or several replicas each instance resizes its own copies, and every deploy
389
+ starts cold. A cache in object storage is shared, survives deploys and can sit behind a CDN, at the cost of a PUT per
390
+ derivative. Either is reasonable; they suit different deployments.
391
+
392
+ The distinction is not only about where the bytes land. Uploads are originals and have to be kept; derivatives are
393
+ reproducible from them, so they can be cleared, rebuilt or expired on their own schedule without touching user data.
394
+
395
+
350
396
  ### LocalFileStore
351
397
 
352
398
  An `IFileStore` that stores files in a local directory. Its usage follows the general pattern of other file stores in
@@ -376,7 +422,8 @@ LinkedFileStorage.setDefaultStore(store);
376
422
  is the server's own upload folder — that is the only folder the server serves.
377
423
 
378
424
  Registering stores per purpose (`LinkedFileStorage.setStore`, `getStore`, `registerPurpose`) is core's concern — see
379
- [`@_linked/core`](https://github.com/linked-cm/core), `utils/LinkedFileStorage` and `interfaces/IFileStore`.
425
+ [`@_linked/core`](https://github.com/linked-cm/core), `utils/LinkedFileStorage` and `interfaces/IFileStore`. This
426
+ package declares one purpose of its own, for the image resize cache — see [Resizing images](#resizing-images).
380
427
 
381
428
  #### Saving files
382
429