aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src/http_client/httpc_cookie.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2011-09-06 12:12:10 +0200
committerMicael Karlberg <[email protected]>2011-09-06 12:12:10 +0200
commit68911f0221998d471114b6e6aac73d43d3025c8a (patch)
treee3a1dd5bf787fa2b1e53a2415f2d150b2ac406ff /lib/inets/src/http_client/httpc_cookie.erl
parent5bdbfa33f7142b888f833b8f2f80cdf2198d9212 (diff)
downloadotp-68911f0221998d471114b6e6aac73d43d3025c8a.tar.gz
otp-68911f0221998d471114b6e6aac73d43d3025c8a.tar.bz2
otp-68911f0221998d471114b6e6aac73d43d3025c8a.zip
[httpc] Parsing of a cookie expire date should be more forgiving.
That is, if the parsing fails, the date should be ignored. Also added support for (yet another) date format: "Tue Jan 01 08:00:01 2036 GMT" OTP-9433
Diffstat (limited to 'lib/inets/src/http_client/httpc_cookie.erl')
-rw-r--r--lib/inets/src/http_client/httpc_cookie.erl13
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/inets/src/http_client/httpc_cookie.erl b/lib/inets/src/http_client/httpc_cookie.erl
index 4d61f82b5a..e6e6c8cc81 100644
--- a/lib/inets/src/http_client/httpc_cookie.erl
+++ b/lib/inets/src/http_client/httpc_cookie.erl
@@ -375,10 +375,15 @@ cookie_attributes([{"max-age", Value}| Attributes], Cookie) ->
Cookie#http_cookie{max_age = ExpireTime});
%% Backwards compatibility with netscape cookies
cookie_attributes([{"expires", Value}| Attributes], Cookie) ->
- Time = http_util:convert_netscapecookie_date(Value),
- ExpireTime = calendar:datetime_to_gregorian_seconds(Time),
- cookie_attributes(Attributes,
- Cookie#http_cookie{max_age = ExpireTime});
+ try http_util:convert_netscapecookie_date(Value) of
+ Time ->
+ ExpireTime = calendar:datetime_to_gregorian_seconds(Time),
+ cookie_attributes(Attributes,
+ Cookie#http_cookie{max_age = ExpireTime})
+ catch
+ _:_ ->
+ cookie_attributes(Attributes, Cookie)
+ end;
cookie_attributes([{"path", Value}| Attributes], Cookie) ->
cookie_attributes(Attributes,
Cookie#http_cookie{path = Value});