@ya-accelerators/web-backend-framework 0.0.123 → 0.0.124

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.
@@ -0,0 +1,3 @@
1
+ export declare const normaliseContentType: (mimeType: string) => string;
2
+ export declare const isSniffableContentType: (mimeType: string) => boolean;
3
+ export declare const sniffContentType: (body: Buffer) => string | undefined;
@@ -0,0 +1,32 @@
1
+ const startsWith = (body, signature, offset = 0) => body.length >= offset + signature.length && signature.every((byte, index) => body[offset + index] === byte);
2
+ const ascii = (text) => [...text].map((character) => character.charCodeAt(0));
3
+ const detectors = [
4
+ {
5
+ mimeType: 'image/png',
6
+ matches: (body) => startsWith(body, [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]),
7
+ },
8
+ { mimeType: 'image/jpeg', matches: (body) => startsWith(body, [0xff, 0xd8, 0xff]) },
9
+ {
10
+ mimeType: 'image/gif',
11
+ matches: (body) => startsWith(body, ascii('GIF87a')) || startsWith(body, ascii('GIF89a')),
12
+ },
13
+ {
14
+ mimeType: 'image/webp',
15
+ matches: (body) => startsWith(body, ascii('RIFF')) && startsWith(body, ascii('WEBP'), 8),
16
+ },
17
+ { mimeType: 'image/bmp', matches: (body) => startsWith(body, ascii('BM')) },
18
+ {
19
+ mimeType: 'image/tiff',
20
+ matches: (body) => startsWith(body, [0x49, 0x49, 0x2a, 0x00]) ||
21
+ startsWith(body, [0x4d, 0x4d, 0x00, 0x2a]) ||
22
+ startsWith(body, [0x49, 0x49, 0x2b, 0x00]) ||
23
+ startsWith(body, [0x4d, 0x4d, 0x00, 0x2b]),
24
+ },
25
+ { mimeType: 'application/pdf', matches: (body) => startsWith(body, ascii('%PDF-')) },
26
+ { mimeType: 'application/gzip', matches: (body) => startsWith(body, [0x1f, 0x8b, 0x08]) },
27
+ ];
28
+ const sniffable = new Set(detectors.map((detector) => detector.mimeType));
29
+ export const normaliseContentType = (mimeType) => mimeType.split(';')[0].trim().toLowerCase();
30
+ export const isSniffableContentType = (mimeType) => sniffable.has(normaliseContentType(mimeType));
31
+ export const sniffContentType = (body) => detectors.find((detector) => detector.matches(body))?.mimeType;
32
+ //# sourceMappingURL=content-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.js","sourceRoot":"","sources":["../../../src/server/uploads/content-type.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { redis } from '../../repository/redis/index.js';
7
7
  import { s3 } from '../../repository/s3/index.js';
8
8
  import { Util } from '../../util/index.js';
9
9
  import { throwTooManyRequestsError, throwUnprocessableContentError, throwUnsupportedMediaTypeError, } from '../trpc/error/index.js';
10
+ import { isSniffableContentType, normaliseContentType, sniffContentType } from './content-type.js';
10
11
  const UPLOAD_MINT_MAX = 60;
11
12
  const UPLOAD_MINT_WINDOW_SEC = 60;
12
13
  const UPLOAD_TOKEN_TTL_SEC = 5 * 60;
@@ -125,11 +126,16 @@ export const consume = async (key, bucket, constraints) => {
125
126
  return undefined;
126
127
  }
127
128
  await s3.deleteObject({ bucket, key: objectKey });
128
- const mimeType = object.metadata?.declaredcontenttype ?? object.contentType ?? constants.UPLOAD_STORED_CONTENT_TYPE;
129
+ const declaredMimeType = normaliseContentType(object.metadata?.declaredcontenttype ?? object.contentType ?? constants.UPLOAD_STORED_CONTENT_TYPE);
129
130
  const size = object.body.length;
130
131
  if (constraints?.maxSize !== undefined && size > constraints.maxSize) {
131
132
  throwUnprocessableContentError(`uploaded file is ${size} bytes, over the ${constraints.maxSize}-byte limit`);
132
133
  }
134
+ const sniffedMimeType = sniffContentType(object.body);
135
+ if (sniffedMimeType === undefined && isSniffableContentType(declaredMimeType)) {
136
+ throwUnsupportedMediaTypeError(`uploaded file is not the declared type ${declaredMimeType}`);
137
+ }
138
+ const mimeType = sniffedMimeType ?? declaredMimeType;
133
139
  if (constraints?.accept !== undefined &&
134
140
  !constraints.accept.includes('*') &&
135
141
  !constraints.accept.includes(mimeType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/uploads/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/uploads/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ya-accelerators/web-backend-framework",
3
- "version": "0.0.123",
3
+ "version": "0.0.124",
4
4
  "packageRole": "library",
5
5
  "type": "module",
6
6
  "description": "",
@@ -52,7 +52,7 @@
52
52
  "test:integration": "jest --testPathPatterns=integration"
53
53
  },
54
54
  "dependencies": {
55
- "@aws-sdk/client-s3": "^3.1120.0",
55
+ "@aws-sdk/client-s3": "^3.1121.0",
56
56
  "@aws-sdk/credential-provider-node": "^3.972.81",
57
57
  "@prisma/adapter-mariadb": "^7.10.0",
58
58
  "@prisma/extension-read-replicas": "^0.5.0",