Current section
Files
Jump to
Current section
Files
lib/consul/handler/kv.ex
#
# The MIT License (MIT)
#
# Copyright (c) 2014-2015 Undead Labs, LLC
#
defmodule Consul.Handler.Kv do
use Consul.Handler.Behaviour
def handle(%{status_code: 200, body: body} = response) do
{:ok, %{response | body: decode_body(body)}}
end
def handle(response), do: super(response)
#
# Private API
#
defp decode_body(items) when is_list(items) do
Enum.map(items, &decode_body/1)
end
defp decode_body(%{"Value" => value} = item) when is_binary(value) do
%{item | "Value" => :base64.decode(value)}
end
defp decode_body(item), do: item
end