form-urlencoded
Advanced tools
Comparing version 0.0.4 to 0.0.5
@@ -48,4 +48,7 @@ // Filename: formurlencoded.js | ||
var type = typeof value, f = null; | ||
if (type === 'string' || type === 'number') { | ||
if (type === 'string') { | ||
f = encodeURIComponent(name) + '=' + | ||
formEncodeString(value); | ||
} else if (type === 'number') { | ||
f = encodeURIComponent(name) + '=' + | ||
encodeURIComponent(value).replace(regexp, "+"); | ||
@@ -62,2 +65,16 @@ } else if (type === 'boolean') { | ||
function manuallyEncodeChar (ch) { | ||
if (ch === ' ') { | ||
return '+'; | ||
} else { | ||
return "%" + ("0" + ch.charCodeAt(0).toString(16)).slice(-2).toUpperCase(); | ||
} | ||
}; | ||
var formEncodeString = function(value) { | ||
return value | ||
.replace(/[^ !'()~\*]*/g, encodeURIComponent) | ||
.replace(/[ !'()~\*]/g, manuallyEncodeChar); | ||
}; | ||
var keys = Object.keys(data); | ||
@@ -64,0 +81,0 @@ if (options.sorted) { |
{ | ||
"name": "form-urlencoded", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"repository": { | ||
@@ -5,0 +5,0 @@ "type": "git", |
form-urlencoded | ||
=============== | ||
**(c)[Bumblehead][0], 2013** [MIT-license](#license) | ||
**(c)[Bumblehead][0],[JBlashill][6] 2013** [MIT-license](#license) | ||
@@ -15,2 +15,3 @@ ### OVERVIEW: | ||
[0]: http://www.bumblehead.com "bumblehead" | ||
@@ -22,3 +23,5 @@ [1]: http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1 "w3c" | ||
[5]: https://github.com/visionmedia/node-querystring "tj qs" | ||
[6]: https://github.com/jblashill/form-urlencoded "jblashill" | ||
--------------------------------------------------------- | ||
@@ -25,0 +28,0 @@ #### <a id="install"></a>INSTALL: |
@@ -106,2 +106,17 @@ var FormUrlencoded = require('../form-urlencoded'), | ||
it("should properly encode all ascii characters", function () { | ||
var testCharEncodingString = ""; | ||
for (var i = 0; i < 256; i++) { | ||
testCharEncodingString += String.fromCharCode(i); | ||
} | ||
var begin = { | ||
test: testCharEncodingString | ||
}, | ||
result = FormUrlencoded.encode(begin, { sorted: true }), | ||
resultExpected = 'test=%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F+%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E%7F%C2%80%C2%81%C2%82%C2%83%C2%84%C2%85%C2%86%C2%87%C2%88%C2%89%C2%8A%C2%8B%C2%8C%C2%8D%C2%8E%C2%8F%C2%90%C2%91%C2%92%C2%93%C2%94%C2%95%C2%96%C2%97%C2%98%C2%99%C2%9A%C2%9B%C2%9C%C2%9D%C2%9E%C2%9F%C2%A0%C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC%C2%AD%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3%C2%B4%C2%B5%C2%B6%C2%B7%C2%B8%C2%B9%C2%BA%C2%BB%C2%BC%C2%BD%C2%BE%C2%BF%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9E%C3%9F%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B7%C3%B8%C3%B9%C3%BA%C3%BB%C3%BC%C3%BD%C3%BE%C3%BF'; | ||
expect( result ).toBe( resultExpected ); | ||
}); | ||
/* | ||
@@ -108,0 +123,0 @@ it("should return encoded data, without null", function () { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
12847
193
84
1