From 89f153de4db76c33847b962e0ccc6ee1e97c13c4 Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Sat, 15 Mar 2014 16:45:58 +0300 Subject: [PATCH] Fixed bug in connection request digest authentication caused authentication response being sent over a new connection --- lib/api-functions.coffee | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/api-functions.coffee b/lib/api-functions.coffee index 841a6f8..65b75f6 100644 --- a/lib/api-functions.coffee +++ b/lib/api-functions.coffee @@ -8,8 +8,12 @@ auth = require './auth' connectionRequest = (deviceId, callback) -> + # ensure socket is reused in case of digest authentication + agent = new http.Agent({maxSockets : 1}) + conReq = (url, authString, callback) -> options = URL.parse(url) + options.agent = agent if authString options.headers = {'Authorization' : authString} @@ -18,6 +22,8 @@ connectionRequest = (deviceId, callback) -> if res.statusCode == 401 authHeader = auth.parseAuthHeader(res.headers['www-authenticate']) callback(res.statusCode, authHeader) + # don't need body, go ahead and emit events to free up the socket for possible reuse + res.resume() ) request.on('error', (err) ->