Elixir - 为 stripity_stripe 库动态设置请求 headers
Elixir - Dynamically setting request headers for stripity_stripe library
我正在使用 stripity_stripe 库并希望发送一些请求以通过代理服务器条带化而不是其他请求。因此,我正在尝试根据某些请求动态发送 hackney 选项。我查看了 stripity_stripe 库的代码和文档,但找不到任何示例来发送与代理相关的 hackney 选项。我想出了在 config.ex 文件中设置代理相关信息并且它工作正常,但由于它在配置中设置,它将应用于所有请求。
config :stripity_stripe,
api_key: System.get_env("STRIPE_API_KEY"),
hackney_opts: [
{:ssl_options, [cacertfile: "CERT.pem"]},
{:proxy, System.get_env("PROXY_SANDBOX_BASE_URL")},
{:proxy_auth,
{System.get_env("PROXY_SANDBOX_USERNAME"), System.get_env("PROXY_SANDBOX_PASSWORD")}}
]
我在 stripity_stripe 中找到了一个函数 request() 来动态发送 headers 和选项,但无法成功发送这些选项。这是我的尝试方式:
Stripe.API.request(params, :post, "tokens", %{},
hackney_opts: [
{:ssl_options, [cacertfile: "/Users/apple/.ssh/CERT.pem"]},
{:proxy, System.get_env("PROXY_SANDBOX_BASE_URL")},
{:proxy_auth,
{System.get_env("PROXY_SANDBOX_USERNAME"), System.get_env("PROXY_SANDBOX_PASSWORD")}}
]
)
如有任何帮助,我们将不胜感激。谢谢
调用 Stripe.API.request/5
时省略 hackney_options
键——直接传递选项列表,例如
Stripe.API.request(
params,
:post,
"tokens",
%{},
ssl_options: [cacertfile: "/Users/apple/.ssh/CERT.pem"],
proxy: System.get_env("VGS_SANDBOX_BASE_URL")
)
请记住,当最后一个参数是关键字列表时,通常会省略括号。您可以将它们包括在内,以帮助更轻松地查看哪些内容属于最终参数,例如
Stripe.API.request(
params,
:post,
"tokens",
%{},
[
ssl_options: [cacertfile: "/Users/apple/.ssh/CERT.pem"],
proxy: System.get_env("VGS_SANDBOX_BASE_URL")
]
)
我正在使用 stripity_stripe 库并希望发送一些请求以通过代理服务器条带化而不是其他请求。因此,我正在尝试根据某些请求动态发送 hackney 选项。我查看了 stripity_stripe 库的代码和文档,但找不到任何示例来发送与代理相关的 hackney 选项。我想出了在 config.ex 文件中设置代理相关信息并且它工作正常,但由于它在配置中设置,它将应用于所有请求。
config :stripity_stripe,
api_key: System.get_env("STRIPE_API_KEY"),
hackney_opts: [
{:ssl_options, [cacertfile: "CERT.pem"]},
{:proxy, System.get_env("PROXY_SANDBOX_BASE_URL")},
{:proxy_auth,
{System.get_env("PROXY_SANDBOX_USERNAME"), System.get_env("PROXY_SANDBOX_PASSWORD")}}
]
我在 stripity_stripe 中找到了一个函数 request() 来动态发送 headers 和选项,但无法成功发送这些选项。这是我的尝试方式:
Stripe.API.request(params, :post, "tokens", %{},
hackney_opts: [
{:ssl_options, [cacertfile: "/Users/apple/.ssh/CERT.pem"]},
{:proxy, System.get_env("PROXY_SANDBOX_BASE_URL")},
{:proxy_auth,
{System.get_env("PROXY_SANDBOX_USERNAME"), System.get_env("PROXY_SANDBOX_PASSWORD")}}
]
)
如有任何帮助,我们将不胜感激。谢谢
调用 Stripe.API.request/5
时省略 hackney_options
键——直接传递选项列表,例如
Stripe.API.request(
params,
:post,
"tokens",
%{},
ssl_options: [cacertfile: "/Users/apple/.ssh/CERT.pem"],
proxy: System.get_env("VGS_SANDBOX_BASE_URL")
)
请记住,当最后一个参数是关键字列表时,通常会省略括号。您可以将它们包括在内,以帮助更轻松地查看哪些内容属于最终参数,例如
Stripe.API.request(
params,
:post,
"tokens",
%{},
[
ssl_options: [cacertfile: "/Users/apple/.ssh/CERT.pem"],
proxy: System.get_env("VGS_SANDBOX_BASE_URL")
]
)