From 3d1cae723a36fa50b0c6c3e374de8c896bd97c75 Mon Sep 17 00:00:00 2001
From: Lloyd Hilaiel <lloyd@hilaiel.com>
Date: Tue, 29 May 2012 08:56:52 +0300
Subject: [PATCH] Support non-ascii passwords: when forwarding requests,
 Content-Length should be byte length, not number of unicode chars.  issue
 #1631

---
 ChangeLog           | 2 +-
 lib/http_forward.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8091fa647..52fb24e0a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
 train-2012.06.08 (in progress):
-  *
+  * Support non-english passwords: issue #1631
 
 train-2012.05.25:
   * many KPI improvements: #1597, #1613
diff --git a/lib/http_forward.js b/lib/http_forward.js
index d88cbd85d..819142ee8 100644
--- a/lib/http_forward.js
+++ b/lib/http_forward.js
@@ -93,7 +93,7 @@ exports.forward = function(dest, req, res, cb) {
     var data;
     if (req.headers['content-type'].indexOf('application/json') === 0) data = JSON.stringify(req.body);
     else data = querystring.stringify(req.body);
-    preq.setHeader('content-length', data.length);
+    preq.setHeader('content-length', Buffer.byteLength(data));
     preq.write(data);
     preq.end();
   } else {
-- 
GitLab