Skip to content

Commit af44305

Browse files
committed
Use latest elli_cache
1 parent 0468132 commit af44305

File tree

4 files changed

+23
-40
lines changed

4 files changed

+23
-40
lines changed

rebar.config

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
[{add, elli_cache, [{erl_opts, [{i, "_build/test/lib"}]}]}]}.
99

1010
{deps,
11-
[{elli_cache, "1.0.1"}]}.
11+
[%% {elli_cache, "1.0.1"}
12+
{elli_cache,
13+
{git, "git://github.com/elli-lib/elli_cache.git",
14+
{branch, "develop"}}}
15+
]}.
1216

1317
{profiles,
1418
[{test,

rebar.lock

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{"1.1.0",
2+
[{<<"elli_cache">>,
3+
{git,"git://github.com/elli-lib/elli_cache.git",
4+
{ref,"3884cabf3cf55878b225057be0d1711420072399"}},
5+
0},
6+
{<<"erlando">>,{pkg,<<"erlando">>,<<"3.1.1">>},1}]}.
7+
[
8+
{pkg_hash,[
9+
{<<"erlando">>, <<"50E54F9A9DFEC564DDFEB7FC7129F80F491856F5E07686F405CEF4E970BDFE46">>}]}
10+
].

src/elli_static.erl

Lines changed: 6 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,27 @@
11
-module(elli_static).
22

33
-behaviour(elli_handler).
4+
45
-behaviour(elli_cache).
56

67

78
-include_lib("elli/include/elli.hrl").
89
-include_lib("kernel/include/file.hrl").
9-
-include_lib("elli_cache/src/elli_cache_util.hrl").
10-
1110

1211
-define(TABLE, elli_static_table).
1312

1413

15-
-export([preprocess/2,
16-
handle/2, handle_event/3,
17-
postprocess/3,
18-
get_modified/2,
19-
get_size/2
20-
]).
14+
%% elli_handler callbacks
15+
-export([handle/2, handle_event/3]).
16+
17+
%% elli_cache callbacks
18+
-export([get_modified/2, get_size/2]).
2119

2220
-export_type([config/0]).
2321

2422
-type config() :: [{binary(), {dir, file:name_all()}}].
2523

2624

27-
preprocess(Req, Config)
28-
when not(?GET_OR_HEAD(Req#req.method)) ->
29-
MaybeMtime = get_modified(Req, Config),
30-
MaybeSize = get_size(Req, Config),
31-
MaybeETag = maybe_etag(MaybeMtime, MaybeSize),
32-
rfc7232:init(Req, MaybeMtime, MaybeETag);
33-
preprocess(Req, _Config) ->
34-
Req.
35-
36-
3725
-spec handle(elli:req(), config()) -> elli_handler:result().
3826
handle(_Req, []) ->
3927
ignore;
@@ -58,16 +46,6 @@ handle_event(_Event, _Args, _Config) ->
5846
ok.
5947

6048

61-
postprocess(Req, {ResponseCode, _Headers, _What} = Res, Config)
62-
when ?OK_GET_OR_HEAD(ResponseCode, Req#req.method) ->
63-
MaybeMtime = get_modified(Req, Config),
64-
MaybeSize = get_size(Req, Config),
65-
MaybeETag = maybe_etag(MaybeMtime, MaybeSize),
66-
rfc7232:init(Req, MaybeMtime, MaybeETag, Res);
67-
postprocess(_, Res, _) ->
68-
Res.
69-
70-
7149
get_modified(Req, Args) ->
7250
do_it(Req, fun(#file_info{mtime = Mtime}) -> Mtime end, Args).
7351

@@ -116,12 +94,3 @@ maybe_file(Req, Prefix, Dir) ->
11694
_ ->
11795
nothing
11896
end.
119-
120-
121-
maybe_etag(nothing, _Size) ->
122-
nothing;
123-
maybe_etag(_Mtime, nothing) ->
124-
nothing;
125-
maybe_etag({just, Mtime}, {just, Size}) ->
126-
ETag = list_to_binary(httpd_util:create_etag(Mtime, Size)),
127-
{just, <<"\"", ETag/binary, "\"">>}.

test/elli_static_tests.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ setup() ->
3434
Args = [{<<"/elli_static">>, {dir, Dir}}],
3535
Config = [
3636
{mods, [
37-
{elli_middleware_cache, [{mod, elli_static_cache}]},
37+
{elli_middleware_cache, [{elli_static, Args}]},
3838
{elli_static, Args}
3939
]
4040
}
4141
],
42-
{ok, Pid} = elli:start_link([{callback, elli_middleware},
42+
{ok, Pid} = elli:start_link([{callback, elli_middleware},
4343
{callback_args, Config},
4444
{port, 3000}]),
4545
unlink(Pid),

0 commit comments

Comments
 (0)