diff options
Diffstat (limited to 'src/v1.erl')
-rw-r--r-- | src/v1.erl | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -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), |