diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cowboy_clock.erl | 8 | ||||
-rw-r--r-- | src/cowboy_rest.erl | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/cowboy_clock.erl b/src/cowboy_clock.erl index 5e2bf44..f851211 100644 --- a/src/cowboy_clock.erl +++ b/src/cowboy_clock.erl @@ -25,6 +25,7 @@ -export([start_link/0]). -export([stop/0]). -export([rfc1123/0]). +-export([rfc1123/1]). -export([rfc2109/1]). %% gen_server. @@ -61,12 +62,15 @@ stop() -> gen_server:call(?SERVER, stop). %% @doc Return the current date and time formatted according to RFC-1123. -%% -%% This format is used in the <em>date</em> header sent with HTTP responses. -spec rfc1123() -> binary(). rfc1123() -> ets:lookup_element(?TABLE, rfc1123, 2). +%% @doc Return the given date and time formatted according to RFC-1123. +-spec rfc1123(calendar:datetime()) -> binary(). +rfc1123(DateTime) -> + update_rfc1123(<<>>, undefined, DateTime). + %% @doc Return the current date and time formatted according to RFC-2109. %% %% This format is used in the <em>set-cookie</em> header sent with diff --git a/src/cowboy_rest.erl b/src/cowboy_rest.erl index 721acb9..f7bcfb8 100644 --- a/src/cowboy_rest.erl +++ b/src/cowboy_rest.erl @@ -778,9 +778,9 @@ set_resp_body(Req, State=#state{handler=Handler, handler_state=HandlerState, LastModified when is_atom(LastModified) -> Req3; LastModified -> - LastModifiedStr = httpd_util:rfc1123_date(LastModified), + LastModifiedBin = cowboy_clock:rfc1123(LastModified), cowboy_req:set_resp_header( - <<"last-modified">>, LastModifiedStr, Req3) + <<"last-modified">>, LastModifiedBin, Req3) end, {Req5, State4} = set_resp_expires(Req4, State3), case call(Req5, State4, Fun) of @@ -831,9 +831,9 @@ set_resp_expires(Req, State) -> Expires when is_atom(Expires) -> {Req2, State2}; Expires -> - ExpiresStr = httpd_util:rfc1123_date(Expires), + ExpiresBin = cowboy_clock:rfc1123(Expires), Req3 = cowboy_req:set_resp_header( - <<"expires">>, ExpiresStr, Req2), + <<"expires">>, ExpiresBin, Req2), {Req3, State2} end. |