diff --git a/lib/http.js b/lib/http.js index 2ae26f2..40f3a2a 100644 --- a/lib/http.js +++ b/lib/http.js @@ -257,11 +257,6 @@ var HTTPObject = function(engine) { this.serializeParameters = function(url) { console.log(Object.keys(this.parameters).join(",")); - // UUID v4 - while (url.indexOf("{uuidv4}") > -1) { - url = url.replace("{uuidv4}", uuidv4()); - } - // Bind parameters if (Object.keys(this.parameters).length > 0) { // Type 2 @@ -269,7 +264,9 @@ var HTTPObject = function(engine) { for (var k in this.parameters) { if (url.indexOf(':' + k) > -1) { url = url.replace(':' + k, this.parameters[k]); - } else { + } else if(this.parameters[k] == "{uuidv4}") { + parameters[k] = uuidv4(); // Generate UUID v4 + } else { parameters[k] = this.parameters[k]; } } @@ -351,6 +348,7 @@ var HTTPObject = function(engine) { // Make CURL context var state = this.states[this.states.length - 1]; var cmd = ["bin\\curl", "-X", this.method]; + var url = state.url; if (Object.keys(this.headers).length > 0) { for (var key in this.headers) { @@ -372,7 +370,14 @@ var HTTPObject = function(engine) { cmd.push(this.userAgent); } - cmd.push(state.url); + var pos = url.indexOf('?'); + if (pos > -1) { + cmd.push("-d"); + cmd.push(state.url.substring(pos + 1)); + cmd.push(state.url.substring(0, pos)); + } else { + cmd.push(state.url); + } // Get response text responseText = this.interface.exec(cmd);