From 68463ae802e5acd59a4f2369427c87c961415c2e Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Fri, 24 Apr 2020 20:19:27 -0400 Subject: use a protocol for transforming HTTP responses --- lib/polyjuice/client/endpoint.ex | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'lib/polyjuice/client/endpoint.ex') diff --git a/lib/polyjuice/client/endpoint.ex b/lib/polyjuice/client/endpoint.ex index 97eb277..1b6b7b5 100644 --- a/lib/polyjuice/client/endpoint.ex +++ b/lib/polyjuice/client/endpoint.ex @@ -31,15 +31,13 @@ defmodule Polyjuice.Client.Endpoint do headers: [{String.t(), String.t()}], url: String.t(), body: String.t(), - transform: (integer, [{String.t(), String.t()}, ...], String.t() -> any), auth_required: true | false } - @enforce_keys [:method, :headers, :url, :transform] + @enforce_keys [:method, :headers, :url] defstruct [ :method, :headers, :url, - :transform, body: "", auth_required: true ] @@ -58,5 +56,16 @@ defmodule Polyjuice.Client.Endpoint do base_url :: String.t() ) :: Polyjuice.Client.Endpoint.HttpSpec.t() def http_spec(endpoint_args, base_url) + + @doc """ + Transform the HTTP result into a return value. + """ + @spec transform_http_result( + endpoint_args :: __MODULE__.t(), + status_code :: integer(), + headers :: [{String.t(), String.t()}, ...], + body :: String.t() + ) :: any + def transform_http_result(endpoint_args, status_code, headers, body) end end -- cgit v1.2.3