|
|
- const { checkEnv } = require('../utils/checkEnv');
-
- const proto = exports;
- /**
- * head
- * @param {String} name - object name
- * @param {Object} options
- * @param {{res}}
- */
-
- proto.head = async function head(name, options = {}) {
- checkEnv(
- 'Because HeadObject has gzip enabled, head cannot get the file size correctly. If you need to get the file size, please use getObjectMeta'
- );
- options.subres = Object.assign({}, options.subres);
- if (options.versionId) {
- options.subres.versionId = options.versionId;
- }
- const params = this._objectRequestParams('HEAD', name, options);
- params.successStatuses = [200, 304];
-
- const result = await this.request(params);
-
- const data = {
- meta: null,
- res: result.res,
- status: result.status
- };
-
- if (result.status === 200) {
- Object.keys(result.headers).forEach(k => {
- if (k.indexOf('x-oss-meta-') === 0) {
- if (!data.meta) {
- data.meta = {};
- }
- data.meta[k.substring(11)] = result.headers[k];
- }
- });
- }
- return data;
- };
|