ks3
Version:
本代码库为`金山云存储KS3`服务.主要提供`KS3 nodejs SDK`和`命令行工具`.
54 lines (46 loc) • 1.42 kB
JavaScript
var auth = require('./../auth');
var config = require('./../../config');
var debug = require('debug')('ks3:service');
/**
* 获取bucket列表
* @description 如使用的是自定义域名,则该方法不支持使用
*/
function get(params, cb) {
if(typeof params === 'function') {
cb = params
}
var req = _getServiceRequestParams.call(this, '', 'GET', params)
var authStr = auth.generateAuth(this.ak, this.sk, req);
var body = null;
this.request(req, body, authStr, cb);
}
function _getServiceRequestParams (type, method, params) {
var date = (new Date()).toUTCString();
var projectIds = null;
//兼容不同大小写的 ProjectIds 或 projectIds 属性名,确保在 params 对象中能够正确地获取到项目 ID 列表
if (params !== null && typeof params === 'object') {
projectIds = params.ProjectIds !== undefined
? params.ProjectIds
: params.projectIds;
}
var resource = projectIds ? '?projectIds=' + projectIds : ''
const dataType = params.DataType || params.dataType
let endpoint = params.Endpoint || this.endpoint
var uri = config.protocol + '://' + endpoint + resource
// 是否是自定义域名
// if (this.domainMode) {
// uri = config.protocol + '://' + endpoint
// }
var req = {
method,
date: date,
uri: uri,
resource: '/',
dataType: dataType || ''
}
return req
}
module.exports = {
get: get,
listBucket:get
}