@venturialstd/backblaze 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.client.d.ts","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQhE,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,+CAA+C,CAAC;AAGvD,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,eAAe;IAGtC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKzD,mBAAmB,CACvB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA8D9E,OAAO,CAAC,eAAe;YAOT,SAAS;CAiCxB"}
1
+ {"version":3,"file":"backblaze.client.d.ts","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQhE,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,+CAA+C,CAAC;AAGvD,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,eAAe;IAGtC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKzD,mBAAmB,CACvB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA+E9E,OAAO,CAAC,eAAe;YAOT,SAAS;CAgDxB"}
@@ -67,27 +67,44 @@ let BackblazeClient = class BackblazeClient {
67
67
  }
68
68
  async requestWithResponse(params) {
69
69
  const { options, method, path, body, headers = {}, responseType = 'json' } = params;
70
- const { host, baseUrl, region, credentials } = await this.getConfig(options);
70
+ const config = await this.getConfig(options);
71
+ const { host, baseUrl, region, credentials, downloadBaseUrl } = config;
71
72
  const pathNormalized = path.startsWith('/') ? path : `/${path}`;
72
- const req = {
73
- host,
74
- path: pathNormalized || '/',
75
- method,
76
- service: 's3',
77
- region,
78
- headers: { ...headers },
79
- body: body,
80
- };
81
- aws4.sign(req, credentials);
82
- const url = `${baseUrl}${pathNormalized || '/'}`;
83
- const axiosConfig = {
84
- method: (req.method ?? method),
85
- url,
86
- headers: req.headers,
87
- responseType: responseType === 'arraybuffer' ? 'arraybuffer' : responseType === 'text' ? 'text' : 'json',
88
- };
89
- if (body !== undefined) {
90
- axiosConfig.data = typeof body === 'string' ? body : body;
73
+ const pathPart = pathNormalized || '/';
74
+ const useDownloadBaseUrl = method === 'GET' && downloadBaseUrl != null && downloadBaseUrl !== '';
75
+ const downloadPath = useDownloadBaseUrl ? `/file${pathPart}` : pathPart;
76
+ const url = useDownloadBaseUrl
77
+ ? `${downloadBaseUrl.endsWith('/') ? downloadBaseUrl.slice(0, -1) : downloadBaseUrl}${downloadPath}`
78
+ : `${baseUrl}${pathPart}`;
79
+ let axiosConfig;
80
+ if (useDownloadBaseUrl) {
81
+ axiosConfig = {
82
+ method: 'GET',
83
+ url,
84
+ headers: { ...headers },
85
+ responseType: responseType === 'arraybuffer' ? 'arraybuffer' : responseType === 'text' ? 'text' : 'json',
86
+ };
87
+ }
88
+ else {
89
+ const req = {
90
+ host,
91
+ path: pathPart,
92
+ method,
93
+ service: 's3',
94
+ region,
95
+ headers: { ...headers },
96
+ body: body,
97
+ };
98
+ aws4.sign(req, credentials);
99
+ axiosConfig = {
100
+ method: (req.method ?? method),
101
+ url,
102
+ headers: req.headers,
103
+ responseType: responseType === 'arraybuffer' ? 'arraybuffer' : responseType === 'text' ? 'text' : 'json',
104
+ };
105
+ if (body !== undefined) {
106
+ axiosConfig.data = typeof body === 'string' ? body : body;
107
+ }
91
108
  }
92
109
  try {
93
110
  const response = await (0, rxjs_1.firstValueFrom)(this.httpService.request(axiosConfig));
@@ -137,11 +154,20 @@ let BackblazeClient = class BackblazeClient {
137
154
  const baseUrlRaw = (await this.settings.get(backblaze_settings_constants_1.BACKBLAZE_SETTING_KEYS.GENERAL_BASE_URL)) ?? defaultBaseUrl;
138
155
  const baseUrl = baseUrlRaw.endsWith('/') ? baseUrlRaw.slice(0, -1) : baseUrlRaw;
139
156
  const host = baseUrl.replace(/^https?:\/\//, '').replace(/\/$/, '');
157
+ if (baseUrl !== defaultBaseUrl && !host.includes('backblazeb2.com')) {
158
+ this.logger?.warn('Backblaze BASE_URL should be the S3 API endpoint (e.g. https://s3.region.backblazeb2.com). ' +
159
+ 'CDN URLs (e.g. Cloudflare) are for delivering public content only and will cause S3 API requests (upload/delete) to fail.');
160
+ }
161
+ const downloadBaseUrlRaw = await this.settings.get(backblaze_settings_constants_1.BACKBLAZE_SETTING_KEYS.GENERAL_DOWNLOAD_BASE_URL);
162
+ const downloadBaseUrl = downloadBaseUrlRaw != null && String(downloadBaseUrlRaw).trim() !== ''
163
+ ? String(downloadBaseUrlRaw).trim().replace(/\/$/, '')
164
+ : null;
140
165
  return {
141
166
  host,
142
167
  baseUrl,
143
168
  region,
144
169
  credentials: { accessKeyId, secretAccessKey },
170
+ downloadBaseUrl,
145
171
  };
146
172
  }
147
173
  };
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.client.js","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backblaze.client.js","sourceRoot":"","sources":["../../src/client/backblaze.client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * Endpoint base for Backblaze B2 S3-Compatible API.
3
3
  * Format: https://s3.<region>.backblazeb2.com
4
+ *
5
+ * Use this endpoint (or GENERAL_BASE_URL set to the same) for all S3 API operations
6
+ * (upload, download, delete, list). Do not use a CDN URL (e.g. Cloudflare in front of B2);
7
+ * the CDN is only for delivering public content to browsers, not for API requests.
4
8
  */
5
9
  export declare const BACKBLAZE_ENDPOINT_PATTERN = "https://s3.{region}.backblazeb2.com";
6
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.constant.d.ts","sourceRoot":"","sources":["../../src/constants/backblaze.constant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;CAEpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,uBAAuB;;CAE1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;CAG7B,CAAC"}
1
+ {"version":3,"file":"backblaze.constant.d.ts","sourceRoot":"","sources":["../../src/constants/backblaze.constant.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;CAEpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,uBAAuB;;CAE1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;CAG7B,CAAC"}
@@ -4,6 +4,10 @@ exports.BACKBLAZE_OBJECT_LOCK_MODE = exports.BACKBLAZE_SSE_ALGORITHM = exports.B
4
4
  /**
5
5
  * Endpoint base for Backblaze B2 S3-Compatible API.
6
6
  * Format: https://s3.<region>.backblazeb2.com
7
+ *
8
+ * Use this endpoint (or GENERAL_BASE_URL set to the same) for all S3 API operations
9
+ * (upload, download, delete, list). Do not use a CDN URL (e.g. Cloudflare in front of B2);
10
+ * the CDN is only for delivering public content to browsers, not for API requests.
7
11
  */
8
12
  exports.BACKBLAZE_ENDPOINT_PATTERN = 'https://s3.{region}.backblazeb2.com';
9
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.constant.js","sourceRoot":"","sources":["../../src/constants/backblaze.constant.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,0BAA0B,GAAG,qCAAqC,CAAC;AAEhF;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,iBAAiB,EAAE,+BAA+B;CAC1C,CAAC;AAEX;;GAEG;AACU,QAAA,uBAAuB,GAAG;IACrC,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX;;GAEG;AACU,QAAA,0BAA0B,GAAG;IACxC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;CAChB,CAAC"}
1
+ {"version":3,"file":"backblaze.constant.js","sourceRoot":"","sources":["../../src/constants/backblaze.constant.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACU,QAAA,0BAA0B,GAAG,qCAAqC,CAAC;AAEhF;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,iBAAiB,EAAE,+BAA+B;CAC1C,CAAC;AAEX;;GAEG;AACU,QAAA,uBAAuB,GAAG;IACrC,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX;;GAEG;AACU,QAAA,0BAA0B,GAAG;IACxC,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;CAChB,CAAC"}
@@ -1,5 +1,11 @@
1
+ /**
2
+ * Base URL must be the Backblaze S3-compatible API endpoint (e.g. https://s3.us-west-004.backblazeb2.com).
3
+ * Do not use a CDN URL (e.g. Cloudflare); the CDN is only for delivering public content to browsers, not for S3 API operations (upload/download/delete).
4
+ */
1
5
  export declare const BACKBLAZE_SETTING_KEYS: {
2
6
  readonly GENERAL_BASE_URL: "GLOBAL:BACKBLAZE:GENERAL:BASE_URL";
7
+ /** Optional. When set, GET (download) requests use this base URL (e.g. CDN like https://media.example.com) instead of the S3 API. No S3 signing is used for download when this is set. */
8
+ readonly GENERAL_DOWNLOAD_BASE_URL: "GLOBAL:BACKBLAZE:GENERAL:DOWNLOAD_BASE_URL";
3
9
  readonly GENERAL_REGION: "GLOBAL:BACKBLAZE:GENERAL:REGION";
4
10
  readonly GENERAL_ACCESS_KEY_ID: "GLOBAL:BACKBLAZE:GENERAL:ACCESS_KEY_ID";
5
11
  readonly GENERAL_SECRET_ACCESS_KEY: "GLOBAL:BACKBLAZE:GENERAL:SECRET_ACCESS_KEY";
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.settings.constants.d.ts","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;CAKzB,CAAC"}
1
+ {"version":3,"file":"backblaze.settings.constants.d.ts","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;IAEjC,0LAA0L;;;;;CAKlL,CAAC"}
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BACKBLAZE_SETTING_KEYS = void 0;
4
+ /**
5
+ * Base URL must be the Backblaze S3-compatible API endpoint (e.g. https://s3.us-west-004.backblazeb2.com).
6
+ * Do not use a CDN URL (e.g. Cloudflare); the CDN is only for delivering public content to browsers, not for S3 API operations (upload/download/delete).
7
+ */
4
8
  exports.BACKBLAZE_SETTING_KEYS = {
5
9
  GENERAL_BASE_URL: 'GLOBAL:BACKBLAZE:GENERAL:BASE_URL',
10
+ /** Optional. When set, GET (download) requests use this base URL (e.g. CDN like https://media.example.com) instead of the S3 API. No S3 signing is used for download when this is set. */
11
+ GENERAL_DOWNLOAD_BASE_URL: 'GLOBAL:BACKBLAZE:GENERAL:DOWNLOAD_BASE_URL',
6
12
  GENERAL_REGION: 'GLOBAL:BACKBLAZE:GENERAL:REGION',
7
13
  GENERAL_ACCESS_KEY_ID: 'GLOBAL:BACKBLAZE:GENERAL:ACCESS_KEY_ID',
8
14
  GENERAL_SECRET_ACCESS_KEY: 'GLOBAL:BACKBLAZE:GENERAL:SECRET_ACCESS_KEY',
@@ -1 +1 @@
1
- {"version":3,"file":"backblaze.settings.constants.js","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;IACpC,gBAAgB,EAAE,mCAAmC;IACrD,cAAc,EAAE,iCAAiC;IACjD,qBAAqB,EAAE,wCAAwC;IAC/D,yBAAyB,EAAE,4CAA4C;CAC/D,CAAC"}
1
+ {"version":3,"file":"backblaze.settings.constants.js","sourceRoot":"","sources":["../../src/constants/backblaze.settings.constants.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,sBAAsB,GAAG;IACpC,gBAAgB,EAAE,mCAAmC;IACrD,0LAA0L;IAC1L,yBAAyB,EAAE,4CAA4C;IACvE,cAAc,EAAE,iCAAiC;IACjD,qBAAqB,EAAE,wCAAwC;IAC/D,yBAAyB,EAAE,4CAA4C;CAC/D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venturialstd/backblaze",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Backblaze B2 S3-Compatible API client for Venturial (no AWS SDK)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",