fsd-vod 0.10.0 → 0.11.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.
Files changed (2) hide show
  1. package/lib/index.js +20 -21
  2. package/package.json +5 -5
package/lib/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const OSS = require("ali-oss");
4
3
  const LRUCache = require("lru-cache");
5
4
  const Debugger = require("debug");
6
5
  const RPC = require("@alicloud/pop-core");
7
6
  const stream_1 = require("stream");
8
7
  const akita_1 = require("akita");
8
+ const simple_oss_client_1 = require("fsd-oss/simple-oss-client");
9
9
  const debug = Debugger('fsd-vod');
10
10
  const client = akita_1.default.resolve('fsd-vod');
11
11
  const CALLBACK_BODY = 'bucket=${bucket}&path=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${imageInfo.width}&format=${imageInfo.format}';
@@ -79,7 +79,7 @@ class VODAdapter {
79
79
  };
80
80
  this.createUploadToken = async (videoId, meta) => {
81
81
  if (videoId[0] === '/')
82
- videoId = videoId.substr(1);
82
+ videoId = videoId.substring(1);
83
83
  let token = this._authCache.get(videoId);
84
84
  debug('getAuth', videoId, token);
85
85
  if (!token) {
@@ -119,7 +119,7 @@ class VODAdapter {
119
119
  }
120
120
  async getVideoInfo(videoId) {
121
121
  if (videoId[0] === '/')
122
- videoId = videoId.substr(1);
122
+ videoId = videoId.substring(1);
123
123
  let cache = this._videoCache.get(videoId);
124
124
  if (cache)
125
125
  return cache;
@@ -138,7 +138,7 @@ class VODAdapter {
138
138
  }
139
139
  async getMezzanineInfo(videoId, options) {
140
140
  if (videoId[0] === '/')
141
- videoId = videoId.substr(1);
141
+ videoId = videoId.substring(1);
142
142
  let params = Object.assign({
143
143
  VideoId: videoId,
144
144
  OutputType: 'cdn'
@@ -154,7 +154,7 @@ class VODAdapter {
154
154
  }
155
155
  async getPlayInfo(videoId, options) {
156
156
  if (videoId[0] === '/')
157
- videoId = videoId.substr(1);
157
+ videoId = videoId.substring(1);
158
158
  let params = Object.assign({
159
159
  VideoId: videoId
160
160
  }, options || {});
@@ -163,12 +163,11 @@ class VODAdapter {
163
163
  async append(videoId, data) {
164
164
  debug('append %s', videoId);
165
165
  let token = await this.createUploadTokenWithAutoRefresh(videoId);
166
- let oss = new OSS(token.auth);
166
+ let oss = new simple_oss_client_1.default(token.auth);
167
167
  if (typeof data === 'string') {
168
168
  data = Buffer.from(data);
169
169
  }
170
- let options = {};
171
- await oss.put(token.path.substr(1), data, options);
170
+ await oss.put(token.path.substring(1), data);
172
171
  }
173
172
  async createReadStream(videoId, options) {
174
173
  debug('createReadStream %s options: %o', videoId, options);
@@ -195,20 +194,19 @@ class VODAdapter {
195
194
  if (options === null || options === void 0 ? void 0 : options.start)
196
195
  throw new Error('fsd-vod read stream does not support start options');
197
196
  let token = await this.createUploadTokenWithAutoRefresh(videoId);
198
- let oss = new OSS(token.auth);
197
+ let oss = new simple_oss_client_1.default(token.auth);
199
198
  let stream = new stream_1.PassThrough();
200
- stream.promise = oss.putStream(token.path.substr(1), stream);
199
+ oss.put(token.path.substring(1), stream);
201
200
  return stream;
202
201
  }
203
202
  async initMultipartUpload(videoId, partCount) {
204
203
  debug('initMultipartUpload %s, partCount: %d', videoId, partCount);
205
204
  let token = await this.createUploadTokenWithAutoRefresh(videoId);
206
- let oss = new OSS(token.auth);
207
- let res = await oss.initMultipartUpload(token.path.substring(1));
208
- let { uploadId } = res;
205
+ let oss = new simple_oss_client_1.default(token.auth);
206
+ let { UploadId } = await oss.initMultipartUpload(token.path.substring(1));
209
207
  let files = [];
210
208
  for (let i = 1; i <= partCount; i += 1) {
211
- files.push(`task://${uploadId}?${i}`);
209
+ files.push(`task://${UploadId}?${i}`);
212
210
  }
213
211
  return files;
214
212
  }
@@ -217,19 +215,20 @@ class VODAdapter {
217
215
  if (!partTask.startsWith('task://'))
218
216
  throw new Error('Invalid part task id');
219
217
  let token = await this.createUploadTokenWithAutoRefresh(videoId);
220
- let oss = new OSS(token.auth);
218
+ let oss = new simple_oss_client_1.default(token.auth);
221
219
  let [uploadId, no] = partTask.replace('task://', '').split('?');
222
- let res = await oss._uploadPart(token.path.substring(1), uploadId, parseInt(no), {
223
- stream: data,
224
- size
220
+ let res = await oss.uploadPart(token.path.substring(1), uploadId, parseInt(no), data, {
221
+ headers: {
222
+ 'Content-Length': String(size)
223
+ }
225
224
  });
226
- let etag = res.etag.replace(/"/g, '');
225
+ let etag = res.headers.get('ETag').replace(/"/g, '');
227
226
  return `${partTask.replace('task://', 'part://')}#${etag}`;
228
227
  }
229
228
  async completeMultipartUpload(videoId, parts) {
230
229
  debug('completeMultipartUpload %s', videoId);
231
230
  let token = await this.createUploadTokenWithAutoRefresh(videoId);
232
- let oss = new OSS(token.auth);
231
+ let oss = new simple_oss_client_1.default(token.auth);
233
232
  let uploadId = parts[0].replace('part://', '').split('?')[0];
234
233
  debug('update id: %s, target: %s', uploadId, token.path);
235
234
  let datas = parts.map((item, key) => ({
@@ -248,7 +247,7 @@ class VODAdapter {
248
247
  async unlink(videoId) {
249
248
  debug('unlink %s', videoId);
250
249
  if (videoId[0] === '/')
251
- videoId = videoId.substr(1);
250
+ videoId = videoId.substring(1);
252
251
  let params = {
253
252
  VideoIds: videoId
254
253
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fsd-vod",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Aliyun OSS adapter for fsd",
5
5
  "main": "lib/index.js",
6
6
  "types": "index.d.ts",
@@ -12,11 +12,11 @@
12
12
  "author": "Liang <liang@miaomo.cc> (https://github.com/liangxingchen)",
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@alicloud/pop-core": "^1.7.10",
16
- "akita": "^0.12.1",
17
- "ali-oss": "^6.17.1",
15
+ "@alicloud/pop-core": "^1.7.12",
16
+ "akita": "^1.0.3",
18
17
  "debug": "^4.3.4",
18
+ "fsd-oss": "^0.11.0",
19
19
  "lru-cache": "^6.0.0"
20
20
  },
21
- "gitHead": "9820fd7263b6791a38e5568396bfac0f2d3e37e9"
21
+ "gitHead": "8d7862c11a96e4df36805d8b1acbb39aac5a4213"
22
22
  }