From 7e67fc389bdfae2961062f1ebd4a81d91355f169 Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Sun, 14 Sep 2014 23:46:09 +0200 Subject: Implement get-sth-consistency. --- src/v1.erl | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/v1.erl b/src/v1.erl index 7e9e46d..781032b 100644 --- a/src/v1.erl +++ b/src/v1.erl @@ -49,11 +49,25 @@ plop:serialise(Signature))}], deliver(SessionID, binary_to_list(jiffy:encode({R}))). -'get-sth-consistency'(SessionID, _Env, _Input) -> - niy(SessionID). +'get-sth-consistency'(SessionID, _Env, Input) -> + %% TODO: move argument parsing to a generic function + R = case lists:sort(httpd:parse_query(Input)) of + [{"first", FirstInput}, {"second", SecondInput}] -> + {First, _} = string:to_integer(FirstInput), + {Second, _} = string:to_integer(SecondInput), + case lists:member(error, [First, Second]) of + true -> html("get-sth-consistency: bad input:", + [First, Second]); + _ -> [base64:encode(X) || + X <- plop:consistency_proof(First, Second)] + end; + _ -> html("get-sth-consistency: bad input:", Input) + end, + deliver(SessionID, binary_to_list(jiffy:encode(R))). 'get-proof-by-hash'(SessionID, _Env, _Input) -> niy(SessionID). 'get-entries'(SessionID, _Env, Input) -> + %% TODO: move argument parsing to a generic function R = case lists:sort(httpd:parse_query(Input)) of [{"end", EndInput}, {"start", StartInput}] -> {Start, _} = string:to_integer(StartInput), -- cgit v1.1