12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getReqUrl = void 0;
- const copy_to_1 = __importDefault(require("copy-to"));
- const url_1 = __importDefault(require("url"));
- const merge_descriptors_1 = __importDefault(require("merge-descriptors"));
- const is_type_of_1 = __importDefault(require("is-type-of"));
- const isIP_1 = require("../utils/isIP");
- const checkConfigValid_1 = require("../utils/checkConfigValid");
- function getReqUrl(params) {
- const ep = {};
- const isCname = this.options.cname;
- checkConfigValid_1.checkConfigValid(this.options.endpoint, 'endpoint');
- copy_to_1.default(this.options.endpoint, false).to(ep);
- if (params.bucket && !isCname && !isIP_1.isIP(ep.hostname) && !this.options.sldEnable) {
- ep.host = `${params.bucket}.${ep.host}`;
- }
- let resourcePath = '/';
- if (params.bucket && this.options.sldEnable) {
- resourcePath += `${params.bucket}/`;
- }
- if (params.object) {
- // Preserve '/' in result url
- resourcePath += this._escape(params.object).replace(/\+/g, '%2B');
- }
- ep.pathname = resourcePath;
- const query = {};
- if (params.query) {
- merge_descriptors_1.default(query, params.query);
- }
- if (params.subres) {
- let subresAsQuery = {};
- if (is_type_of_1.default.string(params.subres)) {
- subresAsQuery[params.subres] = '';
- }
- else if (is_type_of_1.default.array(params.subres)) {
- params.subres.forEach(k => {
- subresAsQuery[k] = '';
- });
- }
- else {
- subresAsQuery = params.subres;
- }
- merge_descriptors_1.default(query, subresAsQuery);
- }
- ep.query = query;
- return url_1.default.format(ep);
- }
- exports.getReqUrl = getReqUrl;
|