aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_clock.erl
diff options
context:
space:
mode:
authorTom Burdick <[email protected]>2011-05-25 17:51:56 -0500
committerLoïc Hoguin <[email protected]>2011-07-26 13:52:21 +0200
commita29ccb070b0587a59f4266d0524b25a4efe98ccd (patch)
treeb72c5392a46d1b44e6c0da975cb5f446d190a5b8 /src/cowboy_clock.erl
parentacc5f50ab51c89224221919a0555149f7220e9fa (diff)
downloadcowboy-a29ccb070b0587a59f4266d0524b25a4efe98ccd.tar.gz
cowboy-a29ccb070b0587a59f4266d0524b25a4efe98ccd.tar.bz2
cowboy-a29ccb070b0587a59f4266d0524b25a4efe98ccd.zip
Add cowboy_cookies for cookie creation and parsing
Based on Mochi Media, Inc.'s work in Mochiweb. Conflicts: rebar.config
Diffstat (limited to 'src/cowboy_clock.erl')
-rw-r--r--src/cowboy_clock.erl25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/cowboy_clock.erl b/src/cowboy_clock.erl
index e028559..333df94 100644
--- a/src/cowboy_clock.erl
+++ b/src/cowboy_clock.erl
@@ -21,7 +21,7 @@
-module(cowboy_clock).
-behaviour(gen_server).
--export([start_link/0, stop/0, rfc1123/0]). %% API.
+-export([start_link/0, stop/0, rfc1123/0, rfc2109/1]). %% API.
-export([init/1, handle_call/3, handle_cast/2,
handle_info/2, terminate/2, code_change/3]). %% gen_server.
@@ -69,6 +69,29 @@ stop() ->
rfc1123() ->
ets:lookup_element(?TABLE, rfc1123, 2).
+-spec rfc2109(datetime()) -> binary().
+rfc2109(LocalTime) ->
+ {{YYYY,MM,DD},{Hour,Min,Sec}} =
+ case calendar:local_time_to_universal_time_dst(LocalTime) of
+ [Gmt] -> Gmt;
+ [_,Gmt] -> Gmt
+ end,
+ Wday = calendar:day_of_the_week({YYYY,MM,DD}),
+ DayBin = pad_int(DD),
+ YearBin = list_to_binary(integer_to_list(YYYY)),
+ HourBin = pad_int(Hour),
+ MinBin = pad_int(Min),
+ SecBin = pad_int(Sec),
+ WeekDay = weekday(Wday),
+ Month = month(MM),
+ <<WeekDay/binary, ", ",
+ DayBin/binary, " ", Month/binary, " ",
+ YearBin/binary, " ",
+ HourBin/binary, ":",
+ MinBin/binary, ":",
+ SecBin/binary, " GMT">>.
+
+
%% gen_server.
%% @private