summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2015-02-06 19:14:54 +0100
committerMagnus Ahltorp <map@kth.se>2015-02-19 12:35:23 +0100
commit7f09020956447b561eacbbb1926fa7d61b510180 (patch)
treebfdd3584802dfbe094dc5b52259b488b487ec074
parente5d870308d6e71dd12f46ec4745640e6e75d43d9 (diff)
Implement fetching of multiple entries in storage/getentryhackney-merge
-rw-r--r--src/storage.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/storage.erl b/src/storage.erl
index b7acfd7..64f4ded 100644
--- a/src/storage.erl
+++ b/src/storage.erl
@@ -38,11 +38,15 @@ request(get, "ct/storage/fetchnewentries", _Input) ->
success({[{result, <<"ok">>},
{entries, Entries}]});
request(get, "ct/storage/getentry", Query) ->
- Hash = base64:decode(proplists:get_value("hash", Query)),
- Hashes = [Hash],
+ Hashes = [base64:decode(Value) || {Key, Value} <- Query, Key == "hash"],
Entries = lists:map(fun(LeafHash) ->
{[{hash, base64:encode(LeafHash)},
- {entry, base64:encode(db:entry_for_leafhash(LeafHash))}]}
+ {entry, base64:encode(case db:entry_for_leafhash(LeafHash) of
+ noentry ->
+ <<>>;
+ Entry ->
+ Entry
+ end)}]}
end, Hashes),
success({[{result, <<"ok">>},
{entries, Entries}]}).