When an exclamation point is in my SimpleDB expressions I get:
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
This is easily fixed by adding the following line near the bottom of aws.js (with the others):
stringToSign = stringToSign.replace(/!/g,"%21");
Does Amazon specify exactly which characters need to be encoded somewhere? Or are they following a standard? It would be nice to know that no other characters will break the signatures.
My mistake, this problem has already been fixed.
I also tried a request containing all 128 ASCII characters and no signature errors.
But the NPM version needs to be updated...