Update http.js

This commit is contained in:
Namhyeon Go 2022-01-03 13:17:00 +09:00 committed by GitHub
parent ada2db6f77
commit 966f554d0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -203,21 +203,35 @@ var HTTPObject = function() {
} }
}; };
this.serializeURL = function(obj) { this.serializeURL = function(parametersObject) {
var str = []; var str = [];
for (var p in obj) for (var k in parametersObject) {
if (obj.hasOwnProperty(p)) { if (parametersObject.hasOwnProperty(k)) {
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); str.push(encodeURIComponent(k) + "=" + encodeURIComponent(parametersObject[k]));
}
} }
return str.join("&"); return str.join("&");
}; };
// Type 1: http://domain?a=1&b=2&c=3
// Type 2: http://domain/:a/:b/:c
this.serializeParameters = function(url) { this.serializeParameters = function(url) {
if (Object.keys(this.parameters).length > 0) { if (Object.keys(this.parameters).length > 0) {
if (url.indexOf('?') > -1) { // Type 2
return url + '&' + this.serializeURL(this.parameters); var parameters = {};
for (var k in this.parameters) {
if (url.indexOf(':' + k) > -1) {
url = url.replace(':' + k, this.parameters[k]);
} else { } else {
return url + '?' + this.serializeURL(this.parameters); parameters[k] = this.parameters[k];
}
}
// Type 1
if (url.indexOf('?') > -1) {
return url + '&' + this.serializeURL(parameters);
} else {
return url + '?' + this.serializeURL(parameters);
} }
} else { } else {
return url; return url;