Para uma aplicação HTTPotion existente, passe o endpoint para o seu transporte ibrowse:

response = HTTPotion.get(
  "http://www.example.com/",
  ibrowse: [proxy_host: ~c"proxy.example", proxy_port: 8080]
)

O literal ~c fornece uma charlist Erlang para o nome do host do proxy. A porta é um inteiro. Um endpoint HTTP da lista de proxies HTTP pode preencher estes dois campos para o pedido público permitido mostrado, sem adicionar uma conta de proxy. O README do HTTPotion observa que as opções do ibrowse normalmente usam charlists em vez de strings binárias Elixir comuns.

O URL externo continua a ser o destino. A lista aninhada de palavras-chave do ibrowse é a entrega das opções de transporte; não é um cabeçalho HTTP nem um parâmetro de consulta.

Trate a Response ou ErrorResponse devolvida pelo HTTPotion através do fluxo habitual da aplicação. O método sem sinal de exclamação pode devolver um objeto de erro, enquanto get! lança uma exceção quando a operação falha.

Esta é uma referência de manutenção para o HTTPotion, que o seu mantenedor marca como obsoleto. O HTTPoison é uma biblioteca diferente com outra interface de transporte; o seu argumento de proxy não é a mesma opção só porque os nomes se parecem.

Artigos relacionados