From c1d5fcce19584d5e9f90e91b640ea4f657ccf845 Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Tue, 6 May 2014 12:46:04 +0300 Subject: [PATCH] Fixed bug in parsing cookie header --- lib/soap.coffee | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/soap.coffee b/lib/soap.coffee index 65c87b9..cecf1f6 100644 --- a/lib/soap.coffee +++ b/lib/soap.coffee @@ -41,20 +41,18 @@ NAMESPACES = { } +# Separation by comma is important as some devices don't comform to standard +COOKIE_REGEX = /\s*(.+?)\s*=\s*"?(.*?)"?\s*(,|;|$)/g + cookiesToObj = (cookieLine) -> cookies = {} - for c in cookieLine.trim().split ',' - nv = c.split '=' - continue if nv.length < 2 - cookies[nv[0].trim()] = nv[1].trim() + while match = COOKIE_REGEX.exec(cookieLine) + cookies[match[1]] = match[2] return cookies cookiesToStr = (obj) -> - l = [] - for cn, cv of obj - l.push("#{cn}=#{cv}") - return l# + 'path=/' + "#{cn}=#{cv}" for cn, cv of obj event = (xml) ->