Packages
exvcr
0.2.0
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/filter.ex
defmodule ExVCR.Filter do
@moduledoc """
Provide filters for request/responses.
"""
@doc """
Filter out senstive data from the response.
"""
def filter_sensitive_data(body) do
replace(body, ExVCR.Setting.get(:filter_sensitive_data))
end
defp replace(body, []), do: body
defp replace(body, [{pattern, placeholder}|tail]) do
replace(String.replace(body, ~r/#{pattern}/, placeholder), tail)
end
@doc """
Filter out query params from the url.
"""
def filter_url_params(url) do
if ExVCR.Setting.get(:filter_url_params) do
strip_query_params(url)
else
url
end
end
@doc """
Remove query params from the specified url.
"""
def strip_query_params(url) do
url |> String.replace(~r/\?.+$/, "")
end
end