@adonis-agora/media 0.20.0 → 0.22.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 +49 -0
- package/dist/providers/media_provider.d.ts.map +1 -1
- package/dist/providers/media_provider.js +7 -0
- package/dist/providers/media_provider.js.map +1 -1
- package/dist/src/define_config.d.ts +22 -3
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js +2 -2
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/delivery.d.ts +46 -1
- package/dist/src/delivery.d.ts.map +1 -1
- package/dist/src/delivery.js +17 -1
- package/dist/src/delivery.js.map +1 -1
- package/dist/src/delivery_signing.d.ts +70 -0
- package/dist/src/delivery_signing.d.ts.map +1 -0
- package/dist/src/delivery_signing.js +82 -0
- package/dist/src/delivery_signing.js.map +1 -0
- package/dist/src/errors.d.ts +44 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +70 -2
- package/dist/src/errors.js.map +1 -1
- package/dist/src/image_processor.d.ts +57 -1
- package/dist/src/image_processor.d.ts.map +1 -1
- package/dist/src/image_processor.js +16 -1
- package/dist/src/image_processor.js.map +1 -1
- package/dist/src/index.d.ts +10 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/media_collection.d.ts +27 -0
- package/dist/src/media_collection.d.ts.map +1 -1
- package/dist/src/media_collection.js +26 -1
- package/dist/src/media_collection.js.map +1 -1
- package/dist/src/media_library.d.ts +111 -2
- package/dist/src/media_library.d.ts.map +1 -1
- package/dist/src/media_library.js +361 -16
- package/dist/src/media_library.js.map +1 -1
- package/dist/src/media_manager.d.ts +8 -1
- package/dist/src/media_manager.d.ts.map +1 -1
- package/dist/src/media_manager.js +5 -0
- package/dist/src/media_manager.js.map +1 -1
- package/dist/src/processors/sharp.d.ts +7 -2
- package/dist/src/processors/sharp.d.ts.map +1 -1
- package/dist/src/processors/sharp.js +105 -6
- package/dist/src/processors/sharp.js.map +1 -1
- package/dist/src/responsive_image.d.ts +88 -0
- package/dist/src/responsive_image.d.ts.map +1 -0
- package/dist/src/responsive_image.js +109 -0
- package/dist/src/responsive_image.js.map +1 -0
- package/dist/src/testing/fake_image_processor.d.ts +3 -2
- package/dist/src/testing/fake_image_processor.d.ts.map +1 -1
- package/dist/src/testing/fake_image_processor.js +2 -2
- package/dist/src/testing/fake_image_processor.js.map +1 -1
- package/dist/src/transformers/factory.d.ts +39 -0
- package/dist/src/transformers/factory.d.ts.map +1 -1
- package/dist/src/transformers/factory.js +20 -0
- package/dist/src/transformers/factory.js.map +1 -1
- package/dist/src/transformers/ffmpeg.d.ts +104 -0
- package/dist/src/transformers/ffmpeg.d.ts.map +1 -0
- package/dist/src/transformers/ffmpeg.js +207 -0
- package/dist/src/transformers/ffmpeg.js.map +1 -0
- package/dist/src/transformers/hls.d.ts +4 -1
- package/dist/src/transformers/hls.d.ts.map +1 -1
- package/dist/src/transformers/hls.js.map +1 -1
- package/dist/src/transformers/placeholder.d.ts +8 -0
- package/dist/src/transformers/placeholder.d.ts.map +1 -1
- package/dist/src/transformers/placeholder.js +7 -3
- package/dist/src/transformers/placeholder.js.map +1 -1
- package/dist/src/transformers/probe.d.ts +1 -1
- package/dist/src/transformers/probe.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
# @adonis-agora/media
|
|
2
2
|
|
|
3
|
+
## 0.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#199](https://github.com/DavideCarvalho/adonis-agora-media/pull/199) [`0bee4fd`](https://github.com/DavideCarvalho/adonis-agora-media/commit/0bee4fd8ffbf3385f2bcf61baf5c50411af96e9b) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - `next/image` for stored images, and the features of other image libraries (Nuxt Image/IPX, Astro, Unpic, spatie, imgproxy) that were worth having.
|
|
8
|
+
|
|
9
|
+
**Rendering (`@adonis-agora/media-react`)**
|
|
10
|
+
- `<MediaImage>` renders one `<img>`. It loads lazily by default, `priority` marks the LCP image (React 19 also preloads it), and `fill` sizes it to the parent box. A blurred preview is painted behind it until it loads; this works with SSR, survives hydration, and stays in place if the image fails. Three ways to feed it:
|
|
11
|
+
- `image={await media.library.image(id)}`: a descriptor built on the server.
|
|
12
|
+
- `src="/a.jpg"`: a plain URL, with your own `srcSet`, `blurDataURL` and `placeholderColor`.
|
|
13
|
+
- `src={mediaId} loader={mediaImageLoader()}`: a loader, with `next/image`'s algorithm and widths.
|
|
14
|
+
- `layout` (`constrained` / `fullWidth` / `fixed`) derives the box style and `sizes`. A lazy image gets `sizes="auto, …"`.
|
|
15
|
+
- `focalPoint` becomes `object-position`.
|
|
16
|
+
- `<MediaPicture>` does art direction with `<source>`s, each with its own size.
|
|
17
|
+
- `placeholderStyle()` paints the preview on other components.
|
|
18
|
+
|
|
19
|
+
**Server (`@adonis-agora/media`)**
|
|
20
|
+
- `media.library.image(id)` returns `src`, a `srcSet` of same-picture presets, the intrinsic size, the placeholder and the focal point. An explicit `conversions` list forms its own art-directed group, and `onDemand` switches to resize URLs.
|
|
21
|
+
- On-demand resize through `MediaDeliveryHandler` (`?w=`/`?q=`): each size is resized once and cached as a conversion, never enlarged, and limited to the `delivery.images` whitelist. The format (AVIF/WebP) is negotiated from `Accept`, and the result carries `vary: 'Accept'`.
|
|
22
|
+
- Signed delivery URLs (`delivery.signing`, `media.library.deliveryUrl()`): an HMAC over the record, the conversion, the size and the expiry. Expiries are rounded so URLs stay cacheable. Unsigned requests are refused by default. With signing configured, `image()` only hands out signed route URLs.
|
|
23
|
+
- Focal points (`media.library.setFocalPoint()`) and preset `position` (`'attention'`/`'entropy'`) for content-aware crops.
|
|
24
|
+
- `responsive: true` collections: presets at standard widths (skipping those wider than the original) and the placeholder, from one flag.
|
|
25
|
+
- `stripMetadata: true` collections: the original is rewritten without EXIF/GPS/XMP/IPTC, with the orientation baked in and the colour profile kept.
|
|
26
|
+
- Generated image conversions record their output size in `meta`. Presets gain `withoutEnlargement`, `onlyDownscale` and `position`. `ImageProcessor` gains optional `dimensions()`/`stripMetadata()` and a `focalPoint` convert option.
|
|
27
|
+
- Fixes: animated GIF/WebP keep their frames when converted to WebP. Concurrent conversions of one record no longer drop each other.
|
|
28
|
+
- New errors: `ImageSizeNotAllowedError`, `NotAnImageError`, `DeliverySignatureError`.
|
|
29
|
+
|
|
30
|
+
## 0.21.0
|
|
31
|
+
|
|
32
|
+
### Minor Changes
|
|
33
|
+
|
|
34
|
+
- [#193](https://github.com/DavideCarvalho/adonis-agora-media/pull/193) [`ee1a275`](https://github.com/DavideCarvalho/adonis-agora-media/commit/ee1a2753b4b7e2056880e6ed8f91f43fdd676193) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - **ffmpeg engines for the HLS and probe transformers.** `engines.ffmpegHls()` and `engines.ffprobe()` plug into the existing `engine` option of `transformers.hls()` / `transformers.probe()` and spawn the system `ffmpeg` / `ffprobe` binaries. There is no npm dependency, and nothing is bundled.
|
|
35
|
+
|
|
36
|
+
- **Remux by default.** Without a ladder, `ffmpegHls()` does a stream copy, the same contract as the mediabunny engine.
|
|
37
|
+
- **`ladder` transcodes.** With `ladder: [{ height, videoBitrate, audioBitrate? }]` it encodes an h264/aac adaptive-bitrate ladder into one master playlist.
|
|
38
|
+
- Keyframes are forced on segment boundaries.
|
|
39
|
+
- Rungs taller than the source are dropped, so it never upscales.
|
|
40
|
+
- Ready-made ladders: `engines.ladders.standard` (360/720/1080p) and `engines.ladders.compact` (360/720p).
|
|
41
|
+
- This is the transcoding mediabunny can't do in Node without WebCodecs.
|
|
42
|
+
- **Same package shape.** The output is the shape the mediabunny engine writes (`index.m3u8` master, per-rendition playlists, MPEG-TS segments), so HLS delivery and playlist rewriting work unchanged.
|
|
43
|
+
- **Errors.**
|
|
44
|
+
- A missing binary throws `TransformerRuntimeMissingError`.
|
|
45
|
+
- A source with no video stream throws `HlsSourceUnsupportedError`, the same definitive signal the mediabunny engine gives, so callers branch on one error whatever the engine.
|
|
46
|
+
- Any other failed run throws the new `FfmpegFailedError` (`E_MEDIA_FFMPEG_FAILED`), carrying `exitCode` and the tail of `stderr`.
|
|
47
|
+
- `HlsSourceUnsupportedError` gains an optional `hint` constructor argument.
|
|
48
|
+
- **Validation.** The ladder is checked when the engine is built: heights must be positive even integers, and bitrates must parse.
|
|
49
|
+
- **ffprobe gaps.** The ffprobe engine reports `format` as ffprobe's `format_name` and does not report `mimeType`.
|
|
50
|
+
- **Also exported:** `ffmpegHlsEngine`, `ffprobeEngine`, `buildHlsArgs` and `effectiveLadder`, plus the `FfmpegRendition` / `FfmpegHlsEngineOptions` / `FfmpegBinaryOptions` types.
|
|
51
|
+
|
|
3
52
|
## 0.20.0
|
|
4
53
|
|
|
5
54
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media_provider.d.ts","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAmBlF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;;IACpB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,QAAQ,
|
|
1
|
+
{"version":3,"file":"media_provider.d.ts","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAmBlF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;;IACpB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,QAAQ,SAoHP;IAED;;;OAGG;IACG,IAAI,kBAwBT;CA0YF"}
|
|
@@ -114,6 +114,13 @@ export default class MediaProvider {
|
|
|
114
114
|
...(config.delivery?.signedTtlSeconds !== undefined
|
|
115
115
|
? { deliverySignedTtlSeconds: config.delivery.signedTtlSeconds }
|
|
116
116
|
: {}),
|
|
117
|
+
...(config.delivery?.images !== undefined
|
|
118
|
+
? { deliveryImages: config.delivery.images }
|
|
119
|
+
: {}),
|
|
120
|
+
...(config.delivery?.signing !== undefined
|
|
121
|
+
? { deliverySigning: config.delivery.signing }
|
|
122
|
+
: {}),
|
|
123
|
+
...(config.delivery?.path !== undefined ? { deliveryPath: config.delivery.path } : {}),
|
|
117
124
|
});
|
|
118
125
|
});
|
|
119
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media_provider.js","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media_provider.js","sourceRoot":"","sources":["../../providers/media_provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { DeliveryMode } from './delivery.js';
|
|
1
|
+
import type { DeliveryMode, OnDemandImageConfig } from './delivery.js';
|
|
2
|
+
import type { DeliverySigningConfig } from './delivery_signing.js';
|
|
2
3
|
import type { DiskFactory, S3Credentials, S3DiskConfig } from './disks/factory.js';
|
|
3
4
|
import { disks } from './disks/factory.js';
|
|
4
5
|
import type { ImageProcessor } from './image_processor.js';
|
|
@@ -7,7 +8,7 @@ import type { ImageProcessorFactory } from './processors/factory.js';
|
|
|
7
8
|
import { processors } from './processors/factory.js';
|
|
8
9
|
import type { LucidStoreConfig, StoreContext, StoreFactory } from './stores/factory.js';
|
|
9
10
|
import { stores } from './stores/factory.js';
|
|
10
|
-
import { transformers } from './transformers/factory.js';
|
|
11
|
+
import { engines, transformers } from './transformers/factory.js';
|
|
11
12
|
import type { DirectUploadPolicy } from './types.js';
|
|
12
13
|
import type { UploadMode } from './upload_mode.js';
|
|
13
14
|
import type { LucidUploadSessionStoreConfig, UploadSessionStoreContext, UploadSessionStoreFactory } from './upload_sessions/factory.js';
|
|
@@ -184,6 +185,24 @@ export interface MediaDeliveryConfig {
|
|
|
184
185
|
mode?: DeliveryMode;
|
|
185
186
|
/** Lifetime of the signed URL when delivery resolves to `signed`. Default 300. */
|
|
186
187
|
signedTtlSeconds?: number;
|
|
188
|
+
/**
|
|
189
|
+
* On-demand resizing — the `?w=640&q=75` of a `next/image`-style loader, through
|
|
190
|
+
* `MediaDeliveryHandler`. Only these widths and qualities are served (each resized once, then
|
|
191
|
+
* cached as a conversion), so a client cannot fill the storage with arbitrary sizes. Defaults
|
|
192
|
+
* match `next/image` and `@adonis-agora/media-react`'s loader.
|
|
193
|
+
*/
|
|
194
|
+
images?: OnDemandImageConfig;
|
|
195
|
+
/**
|
|
196
|
+
* Sign delivery URLs (`media.library.deliveryUrl()`, and `image()` URLs): the route serves only
|
|
197
|
+
* what the app signed, until it expires — no public URL, and an `<img>` carries its own
|
|
198
|
+
* authorization. With `required` (the default), unsigned requests are refused.
|
|
199
|
+
*/
|
|
200
|
+
signing?: DeliverySigningConfig;
|
|
201
|
+
/**
|
|
202
|
+
* The route the app mounts `MediaDeliveryHandler` on, with `:id` — what `deliveryUrl()` builds
|
|
203
|
+
* URLs for. Default `/media/:id`.
|
|
204
|
+
*/
|
|
205
|
+
path?: string;
|
|
187
206
|
}
|
|
188
207
|
/**
|
|
189
208
|
* Shape of `config/media.ts`. Storage is delegated to `@adonisjs/drive` — the `disk` is the name of a
|
|
@@ -274,5 +293,5 @@ export type InferTransformers<T extends MediaConfig> = NonNullable<CollectionOf<
|
|
|
274
293
|
*/
|
|
275
294
|
export type InferConversions<T extends MediaConfig> = NonNullable<CollectionOf<T>['conversions']>[number]['name'] | InferTransformers<T>;
|
|
276
295
|
export type { DeliveryMode, DiskFactory, ImageProcessorFactory, LucidStoreConfig, LucidUploadSessionStoreConfig, S3Credentials, S3DiskConfig, StoreContext, StoreFactory, UploadMode, UploadSessionStoreContext, UploadSessionStoreFactory, };
|
|
277
|
-
export { disks, processors, stores, transformers, uploadSessions };
|
|
296
|
+
export { disks, engines, processors, stores, transformers, uploadSessions };
|
|
278
297
|
//# sourceMappingURL=define_config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { disks } from './disks/factory.js';
|
|
2
2
|
import { processors } from './processors/factory.js';
|
|
3
3
|
import { stores } from './stores/factory.js';
|
|
4
|
-
import { transformers } from './transformers/factory.js';
|
|
4
|
+
import { engines, transformers } from './transformers/factory.js';
|
|
5
5
|
import { uploadSessions } from './upload_sessions/factory.js';
|
|
6
6
|
/**
|
|
7
7
|
* Identity helper giving `config/media.ts` full type-checking. The `const` type parameter keeps
|
|
@@ -11,5 +11,5 @@ import { uploadSessions } from './upload_sessions/factory.js';
|
|
|
11
11
|
export function defineConfig(config = {}) {
|
|
12
12
|
return config;
|
|
13
13
|
}
|
|
14
|
-
export { disks, processors, stores, transformers, uploadSessions };
|
|
14
|
+
export { disks, engines, processors, stores, transformers, uploadSessions };
|
|
15
15
|
//# sourceMappingURL=define_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQlE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAkQ9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAA8B,MAAM,GAAM,EAAO;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AAiDD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/src/delivery.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export declare const DEFAULT_DELIVERY_SIGNED_TTL_SECONDS = 300;
|
|
|
20
20
|
* because the library is framework-agnostic: the app turns a `redirect` into `response.redirect(url)`
|
|
21
21
|
* and a `stream` into `response.stream(stream)` with whatever headers it wants.
|
|
22
22
|
*/
|
|
23
|
-
export type DeliveryResult = {
|
|
23
|
+
export type DeliveryResult = ({
|
|
24
24
|
kind: 'redirect';
|
|
25
25
|
url: string;
|
|
26
26
|
} | {
|
|
@@ -29,6 +29,13 @@ export type DeliveryResult = {
|
|
|
29
29
|
mimeType: string;
|
|
30
30
|
size?: number | undefined;
|
|
31
31
|
fileName?: string | undefined;
|
|
32
|
+
}) & {
|
|
33
|
+
/**
|
|
34
|
+
* `'Accept'` when the format was negotiated from the request's `Accept` header (on-demand
|
|
35
|
+
* resize): send it as the `Vary` header, or a cache in between hands an AVIF to a browser that
|
|
36
|
+
* asked for WebP.
|
|
37
|
+
*/
|
|
38
|
+
vary?: 'Accept' | undefined;
|
|
32
39
|
};
|
|
33
40
|
/**
|
|
34
41
|
* Collapse a requested {@link DeliveryMode} to a concrete one for a specific object.
|
|
@@ -48,6 +55,44 @@ export interface DeliveryRequest {
|
|
|
48
55
|
mediaId: string;
|
|
49
56
|
/** Deliver this named conversion instead of the original (generated lazily if absent). */
|
|
50
57
|
conversion?: string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Deliver the image resized to this width — the `?w=` of a `next/image`-style loader. Must be one
|
|
60
|
+
* of `delivery.images.widths`; resized once, then cached. A query-string value can be passed as
|
|
61
|
+
* is: it is parsed and validated here.
|
|
62
|
+
*/
|
|
63
|
+
width?: number | string | undefined;
|
|
64
|
+
/** Quality of the resized image (`?q=`); one of `delivery.images.qualities`. */
|
|
65
|
+
quality?: number | string | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* The request's `Accept` header: picks the first of `delivery.images.formats` the browser
|
|
68
|
+
* supports (AVIF before WebP, say). Absent ⇒ the first configured format.
|
|
69
|
+
*/
|
|
70
|
+
accept?: string | undefined;
|
|
71
|
+
/** `?exp=` of a signed URL (`delivery.signing`). */
|
|
72
|
+
expires?: number | string | undefined;
|
|
73
|
+
/** `?sig=` of a signed URL (`delivery.signing`). */
|
|
74
|
+
signature?: string | undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* `next/image`'s default `deviceSizes` + `imageSizes`: the widths a loader may ask for. The same
|
|
78
|
+
* list on both sides is what keeps a loader's `srcset` and the server's whitelist in step.
|
|
79
|
+
*/
|
|
80
|
+
export declare const DEFAULT_IMAGE_WIDTHS: readonly number[];
|
|
81
|
+
/** `next/image`'s default `qualities`: one, so a client cannot multiply the cache by quality. */
|
|
82
|
+
export declare const DEFAULT_IMAGE_QUALITIES: readonly number[];
|
|
83
|
+
/** On-demand resizing for `?w=`/`?q=` delivery (`delivery.images`). */
|
|
84
|
+
export interface OnDemandImageConfig {
|
|
85
|
+
/** Widths a request may ask for. Default {@link DEFAULT_IMAGE_WIDTHS}. */
|
|
86
|
+
widths?: readonly number[];
|
|
87
|
+
/** Qualities a request may ask for; the first is the default. Default {@link DEFAULT_IMAGE_QUALITIES}. */
|
|
88
|
+
qualities?: readonly number[];
|
|
89
|
+
/**
|
|
90
|
+
* Modern formats to serve, in order of preference, negotiated against the request's `Accept`
|
|
91
|
+
* (like `next/image`'s `images.formats`). A browser that accepts none of them gets JPEG — or PNG
|
|
92
|
+
* when the original is a PNG/GIF, to keep transparency. Default `['webp']`: AVIF is markedly
|
|
93
|
+
* smaller but many times slower to encode, so it is opt-in (`['avif', 'webp']`).
|
|
94
|
+
*/
|
|
95
|
+
formats?: readonly ('avif' | 'webp')[];
|
|
51
96
|
}
|
|
52
97
|
export interface MediaDeliveryHandlerOptions {
|
|
53
98
|
/** The {@link MediaLibrary} records are resolved from — or a `MediaManager`, whose `.library` is used. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,0FAA0F;AAC1F,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjE,+FAA+F;AAC/F,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"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"}
|
package/dist/src/delivery.js
CHANGED
|
@@ -19,6 +19,15 @@ export async function resolveDeliveryMode(mode, disk, key) {
|
|
|
19
19
|
return 'signed';
|
|
20
20
|
return (await disk.getVisibility(key)) === 'public' ? 'public' : 'signed';
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* `next/image`'s default `deviceSizes` + `imageSizes`: the widths a loader may ask for. The same
|
|
24
|
+
* list on both sides is what keeps a loader's `srcset` and the server's whitelist in step.
|
|
25
|
+
*/
|
|
26
|
+
export const DEFAULT_IMAGE_WIDTHS = [
|
|
27
|
+
16, 32, 48, 64, 96, 128, 256, 384, 640, 750, 828, 1080, 1200, 1920, 2048, 3840,
|
|
28
|
+
];
|
|
29
|
+
/** `next/image`'s default `qualities`: one, so a client cannot multiply the cache by quality. */
|
|
30
|
+
export const DEFAULT_IMAGE_QUALITIES = [75];
|
|
22
31
|
/**
|
|
23
32
|
* Framework-agnostic read counterpart to {@link TusUploadHandler}: the app mounts ONE route, with
|
|
24
33
|
* its own middleware, and delegates the "how do these bytes reach the client" question here.
|
|
@@ -51,9 +60,16 @@ export class MediaDeliveryHandler {
|
|
|
51
60
|
this.mode = options.mode;
|
|
52
61
|
this.signedTtlSeconds = options.signedTtlSeconds;
|
|
53
62
|
}
|
|
54
|
-
handle(request) {
|
|
63
|
+
async handle(request) {
|
|
64
|
+
// With `delivery.signing`, a signed request is authorized by its signature (any size the app
|
|
65
|
+
// signed); an unsigned one is refused when signing is required. Throws DeliverySignatureError.
|
|
66
|
+
const trusted = this.library.checkDeliverySignature(request);
|
|
55
67
|
return this.library.deliver(request.mediaId, {
|
|
68
|
+
...(trusted ? { trusted: true } : {}),
|
|
56
69
|
...(request.conversion !== undefined ? { conversion: request.conversion } : {}),
|
|
70
|
+
...(request.width !== undefined && request.width !== ''
|
|
71
|
+
? { width: request.width, quality: request.quality, accept: request.accept }
|
|
72
|
+
: {}),
|
|
57
73
|
...(this.mode !== undefined ? { mode: this.mode } : {}),
|
|
58
74
|
...(this.signedTtlSeconds !== undefined ? { signedTtlSeconds: this.signedTtlSeconds } : {}),
|
|
59
75
|
});
|
package/dist/src/delivery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAkBA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAkBA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAyBvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA8B,EAC9B,IAAU,EACV,GAAW;IAEX,MAAM,SAAS,GAAiB,IAAI,IAAI,MAAM,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IAC9D,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5E,CAAC;AA2BD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC/E,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,uBAAuB,GAAsB,CAAC,EAAE,CAAC,CAAC;AA0B/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,oBAAoB;IACd,OAAO,CAAe;IACtB,IAAI,CAA2B;IAC/B,gBAAgB,CAAqB;IAEtD,YAAY,OAAoC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAwB;QACnC,6FAA6F;QAC7F,+FAA+F;QAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE;gBACrD,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC5E,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signed delivery URLs (`delivery.signing`) — the imgproxy/Thumbor model: the app signs the exact
|
|
3
|
+
* request (record, conversion, size, expiry) with a secret, and the delivery route serves only
|
|
4
|
+
* requests it signed. Nothing about the URL can be changed without breaking the signature, so a
|
|
5
|
+
* signed URL can ask for any width (the app chose it) and still not be turned into a key to other
|
|
6
|
+
* records or sizes — and an `<img>`, which cannot send an auth header, carries its authorization
|
|
7
|
+
* in the URL until it expires.
|
|
8
|
+
*/
|
|
9
|
+
export interface DeliverySigningConfig {
|
|
10
|
+
/** HMAC key — e.g. `env.get('APP_KEY')`. Rotating it invalidates every outstanding URL. */
|
|
11
|
+
secret: string;
|
|
12
|
+
/**
|
|
13
|
+
* How long a signed URL stays valid, in seconds. Default 3600. Expiries are rounded up to a
|
|
14
|
+
* multiple of this, so a page rendered twice within the window gets the same URLs and the
|
|
15
|
+
* browser cache keeps working — a URL is valid for between one and two windows.
|
|
16
|
+
*/
|
|
17
|
+
expiresIn?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Refuse unsigned requests at the delivery route. Default `true`: with signing configured, the
|
|
20
|
+
* point is usually that nothing is reachable without a URL the app handed out.
|
|
21
|
+
*/
|
|
22
|
+
required?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** What a signature covers. */
|
|
25
|
+
export interface SignedDeliveryParams {
|
|
26
|
+
mediaId: string;
|
|
27
|
+
conversion?: string | undefined;
|
|
28
|
+
width?: number | undefined;
|
|
29
|
+
quality?: number | undefined;
|
|
30
|
+
/** Unix seconds. */
|
|
31
|
+
expires: number;
|
|
32
|
+
}
|
|
33
|
+
/** The query parameters of a delivery URL, as the route receives them. */
|
|
34
|
+
export interface DeliveryQuery {
|
|
35
|
+
conversion?: string | undefined;
|
|
36
|
+
w?: string | undefined;
|
|
37
|
+
q?: string | undefined;
|
|
38
|
+
exp?: string | undefined;
|
|
39
|
+
sig?: string | undefined;
|
|
40
|
+
}
|
|
41
|
+
export declare const DEFAULT_DELIVERY_SIGNING_TTL_SECONDS = 3600;
|
|
42
|
+
/** HMAC-SHA256 over the canonical form of the params, base64url. */
|
|
43
|
+
export declare function signDelivery(secret: string, params: SignedDeliveryParams): string;
|
|
44
|
+
/**
|
|
45
|
+
* Expiry for a URL signed now: `now + ttl`, rounded up to a multiple of `ttl` so the URL is stable
|
|
46
|
+
* for the rest of the window.
|
|
47
|
+
*/
|
|
48
|
+
export declare function deliveryExpiry(nowMs: number, ttlSeconds: number): number;
|
|
49
|
+
/**
|
|
50
|
+
* Check a request's signature. Throws {@link DeliverySignatureError} when it is invalid or expired.
|
|
51
|
+
* Returns `false` when the request carries no signature at all (the caller decides whether that is
|
|
52
|
+
* allowed), `true` when it is signed and valid.
|
|
53
|
+
*/
|
|
54
|
+
export declare function verifyDelivery(secret: string, request: {
|
|
55
|
+
mediaId: string;
|
|
56
|
+
conversion?: string | undefined;
|
|
57
|
+
width?: number | string | undefined;
|
|
58
|
+
quality?: number | string | undefined;
|
|
59
|
+
expires?: number | string | undefined;
|
|
60
|
+
signature?: string | undefined;
|
|
61
|
+
}, nowMs: number): boolean;
|
|
62
|
+
/** Build the query string of a delivery URL. */
|
|
63
|
+
export declare function deliveryQueryString(params: {
|
|
64
|
+
conversion?: string | undefined;
|
|
65
|
+
width?: number | undefined;
|
|
66
|
+
quality?: number | undefined;
|
|
67
|
+
expires?: number | undefined;
|
|
68
|
+
signature?: string | undefined;
|
|
69
|
+
}): string;
|
|
70
|
+
//# sourceMappingURL=delivery_signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery_signing.d.ts","sourceRoot":"","sources":["../../src/delivery_signing.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,2FAA2F;IAC3F,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,+BAA+B;AAC/B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,MAAM,CASjF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,EACD,KAAK,EAAE,MAAM,GACZ,OAAO,CA0BT;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GAAG,MAAM,CAST"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createHmac, timingSafeEqual } from 'node:crypto';
|
|
2
|
+
import { DeliverySignatureError } from './errors.js';
|
|
3
|
+
export const DEFAULT_DELIVERY_SIGNING_TTL_SECONDS = 3600;
|
|
4
|
+
/** HMAC-SHA256 over the canonical form of the params, base64url. */
|
|
5
|
+
export function signDelivery(secret, params) {
|
|
6
|
+
const canonical = [
|
|
7
|
+
params.mediaId,
|
|
8
|
+
params.conversion ?? '',
|
|
9
|
+
params.width ?? '',
|
|
10
|
+
params.quality ?? '',
|
|
11
|
+
params.expires,
|
|
12
|
+
].join('\n');
|
|
13
|
+
return createHmac('sha256', secret).update(canonical).digest('base64url');
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Expiry for a URL signed now: `now + ttl`, rounded up to a multiple of `ttl` so the URL is stable
|
|
17
|
+
* for the rest of the window.
|
|
18
|
+
*/
|
|
19
|
+
export function deliveryExpiry(nowMs, ttlSeconds) {
|
|
20
|
+
const now = Math.floor(nowMs / 1000);
|
|
21
|
+
return Math.ceil((now + ttlSeconds) / ttlSeconds) * ttlSeconds;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Check a request's signature. Throws {@link DeliverySignatureError} when it is invalid or expired.
|
|
25
|
+
* Returns `false` when the request carries no signature at all (the caller decides whether that is
|
|
26
|
+
* allowed), `true` when it is signed and valid.
|
|
27
|
+
*/
|
|
28
|
+
export function verifyDelivery(secret, request, nowMs) {
|
|
29
|
+
const { signature, expires } = request;
|
|
30
|
+
if ((signature === undefined || signature === '') && (expires === undefined || expires === '')) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (!signature || expires === undefined || expires === '') {
|
|
34
|
+
throw new DeliverySignatureError('invalid');
|
|
35
|
+
}
|
|
36
|
+
const exp = Number(expires);
|
|
37
|
+
if (!Number.isInteger(exp))
|
|
38
|
+
throw new DeliverySignatureError('invalid');
|
|
39
|
+
const expected = signDelivery(secret, {
|
|
40
|
+
mediaId: request.mediaId,
|
|
41
|
+
conversion: emptyToUndefined(request.conversion),
|
|
42
|
+
width: toOptionalInt(request.width),
|
|
43
|
+
quality: toOptionalInt(request.quality),
|
|
44
|
+
expires: exp,
|
|
45
|
+
});
|
|
46
|
+
const given = Buffer.from(signature);
|
|
47
|
+
const wanted = Buffer.from(expected);
|
|
48
|
+
if (given.length !== wanted.length || !timingSafeEqual(given, wanted)) {
|
|
49
|
+
throw new DeliverySignatureError('invalid');
|
|
50
|
+
}
|
|
51
|
+
// Checked after the signature: an attacker learns nothing from "expired" on a forged URL.
|
|
52
|
+
if (exp * 1000 < nowMs)
|
|
53
|
+
throw new DeliverySignatureError('expired');
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
/** Build the query string of a delivery URL. */
|
|
57
|
+
export function deliveryQueryString(params) {
|
|
58
|
+
const query = new URLSearchParams();
|
|
59
|
+
if (params.conversion !== undefined)
|
|
60
|
+
query.set('conversion', params.conversion);
|
|
61
|
+
if (params.width !== undefined)
|
|
62
|
+
query.set('w', String(params.width));
|
|
63
|
+
if (params.quality !== undefined)
|
|
64
|
+
query.set('q', String(params.quality));
|
|
65
|
+
if (params.expires !== undefined)
|
|
66
|
+
query.set('exp', String(params.expires));
|
|
67
|
+
if (params.signature !== undefined)
|
|
68
|
+
query.set('sig', params.signature);
|
|
69
|
+
const text = query.toString();
|
|
70
|
+
return text ? `?${text}` : '';
|
|
71
|
+
}
|
|
72
|
+
function emptyToUndefined(value) {
|
|
73
|
+
return value === '' ? undefined : value;
|
|
74
|
+
}
|
|
75
|
+
function toOptionalInt(value) {
|
|
76
|
+
if (value === undefined || value === '')
|
|
77
|
+
return undefined;
|
|
78
|
+
const parsed = typeof value === 'number' ? value : /^\d+$/.test(value) ? Number(value) : Number.NaN;
|
|
79
|
+
// A non-numeric value cannot have been signed by us; NaN makes the HMAC mismatch.
|
|
80
|
+
return parsed;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=delivery_signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery_signing.js","sourceRoot":"","sources":["../../src/delivery_signing.ts"],"names":[],"mappings":"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"}
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -127,7 +127,22 @@ export declare class ConversionArtifactMissingError extends Error {
|
|
|
127
127
|
*/
|
|
128
128
|
export declare class HlsSourceUnsupportedError extends Error {
|
|
129
129
|
readonly code = "E_MEDIA_HLS_SOURCE_UNSUPPORTED";
|
|
130
|
-
|
|
130
|
+
/**
|
|
131
|
+
* @param hint what the caller can do about it; defaults to the mediabunny/WebCodecs advice.
|
|
132
|
+
*/
|
|
133
|
+
constructor(details: string, hint?: string);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* An `ffmpeg` / `ffprobe` run (the `engines.ffmpegHls()` / `engines.ffprobe()` engines) exited
|
|
137
|
+
* non-zero or produced something unusable. Carries the exit code and the tail of stderr, which is
|
|
138
|
+
* where ffmpeg explains itself (an unsupported codec for a stream copy, a corrupt input).
|
|
139
|
+
*/
|
|
140
|
+
export declare class FfmpegFailedError extends Error {
|
|
141
|
+
readonly binary: string;
|
|
142
|
+
readonly exitCode: number | null;
|
|
143
|
+
readonly stderr: string;
|
|
144
|
+
readonly code = "E_MEDIA_FFMPEG_FAILED";
|
|
145
|
+
constructor(binary: string, exitCode: number | null, stderr: string);
|
|
131
146
|
}
|
|
132
147
|
export declare class ImageProcessorMissingError extends Error {
|
|
133
148
|
readonly code = "E_MEDIA_IMAGE_PROCESSOR_MISSING";
|
|
@@ -216,4 +231,32 @@ export declare class UploadSessionStoreNotConfiguredError extends Error {
|
|
|
216
231
|
readonly code = "E_MEDIA_UPLOAD_SESSION_STORE_NOT_CONFIGURED";
|
|
217
232
|
constructor(name: string);
|
|
218
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* A resize was requested at a width or quality outside `delivery.images` — the whitelist that stops
|
|
236
|
+
* a client from filling the storage with one cached variant per arbitrary size. Map it to a 400.
|
|
237
|
+
*/
|
|
238
|
+
export declare class ImageSizeNotAllowedError extends Error {
|
|
239
|
+
readonly field: 'width' | 'quality';
|
|
240
|
+
readonly value: unknown;
|
|
241
|
+
readonly allowed: readonly number[];
|
|
242
|
+
readonly code = "E_MEDIA_IMAGE_SIZE_NOT_ALLOWED";
|
|
243
|
+
constructor(field: 'width' | 'quality', value: unknown, allowed: readonly number[]);
|
|
244
|
+
}
|
|
245
|
+
/** A resize (`?w=`) was requested for a record that is not a raster image. Map it to a 400. */
|
|
246
|
+
export declare class NotAnImageError extends Error {
|
|
247
|
+
readonly mediaId: string;
|
|
248
|
+
readonly mimeType: string;
|
|
249
|
+
readonly code = "E_MEDIA_NOT_AN_IMAGE";
|
|
250
|
+
constructor(mediaId: string, mimeType: string);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* A delivery request failed signature checking (`delivery.signing`): it carries no signature while
|
|
254
|
+
* one is required (`missing`), the signature does not match the request (`invalid` — any
|
|
255
|
+
* parameter changed, or a URL signed with another key), or it expired (`expired`). Map it to a 403.
|
|
256
|
+
*/
|
|
257
|
+
export declare class DeliverySignatureError extends Error {
|
|
258
|
+
readonly reason: 'missing' | 'invalid' | 'expired';
|
|
259
|
+
readonly code = "E_MEDIA_DELIVERY_SIGNATURE";
|
|
260
|
+
constructor(reason: 'missing' | 'invalid' | 'expired');
|
|
261
|
+
}
|
|
219
262
|
//# sourceMappingURL=errors.d.ts.map
|