Packages
exvcr
0.8.2
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.2
0.11.1
0.11.0
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.8.12
0.8.11
0.8.10
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.7
0.1.6
0.1.5
HTTP request/response recording library for elixir, inspired by VCR.
Current section
Files
Jump to
Current section
Files
lib/exvcr/adapter.ex
defmodule ExVCR.Adapter do
@moduledoc """
Provides helpers for adapters.
"""
defmacro __using__(_) do
quote do
@doc """
Returns the name of the mock target module.
"""
def module_name, do: raise ExVCR.ImplementationMissingError
defoverridable [module_name: 0]
@doc """
Returns list of the mock target methods with function name and callback.
"""
def target_methods(recorder), do: raise ExVCR.ImplementationMissingError
defoverridable [target_methods: 1]
@doc """
Generate key for searching response.
[url: url, method: method] needs to be returned.
"""
def generate_keys_for_request(request), do: raise ExVCR.ImplementationMissingError
defoverridable [generate_keys_for_request: 1]
@doc """
Callback from ExVCR.Handler when response is retrieved from the HTTP server.
"""
def hook_response_from_server(response), do: response
defoverridable [hook_response_from_server: 1]
@doc """
Callback from ExVCR.Handler when response is retrieved from the json file cache.
"""
def hook_response_from_cache(response), do: response
defoverridable [hook_response_from_cache: 1]
@doc """
Callback from ExVCR.Handler to get the response content tuple from the ExVCR.Reponse record.
"""
def get_response_value_from_cache(response) do
if response.type == "error" do
{:error, response.body}
else
{:ok, response.status_code, response.headers, response.body}
end
end
defoverridable [get_response_value_from_cache: 1]
end
end
end