⚗️
Consumindo APIs com Elixir
  • Introdução
  • Sobre o autor
  • O valor desse livro
  • Introdução
    • Por que elixir?
    • Como ler este livro
    • Sobre o conteúdo do livro
  • Configurando ambiente
    • Instalando o Elixir
    • Criando um projeto
  • Construindo um cliente usando Tesla
    • Iniciando
    • Tesla
      • O que é o Tesla
      • Instalando Tesla
    • Criando o Client
    • Estruturando resposta
    • Estratégia de teste para requisições
    • Instalando Bypass
    • Mockando requisições do cliente com Bypass
    • Tratando dados da resposta
  • Problemas de API externa
    • Erro genérico
    • O que é o rate limit
    • Rate Limite de curta duração
      • Reexecutando uma requisição
    • Rate Limit de longa duração
      • Agendando uma nova tentativa de requisição
      • Configurações necessárias
      • Adicionando Ecto ao projeto
      • O que é o Oban
      • Instalando Oban
      • Criando uma requisição assíncrona
      • Configurando quantidade de tentativas no Oban
  • Compondo integrações
    • Level up
    • Marvel API
      • Criando uma conta
      • Lendo o endpoint de Comics
      • Criando o cliente da Marvel
        • Melhorando a segurança
      • Lidando com a resposta
    • Aproveitando ao máximo o Rate Limit
  • Em breve
    • WIP - Supervisor
    • WIP - OAuth
    • WIP - Cacheando requisições
Fornecido por GitBook
Nesta página

Isto foi útil?

  1. Construindo um cliente usando Tesla

Instalando Bypass

Como qualquer outra biblioteca elixir, bypass é facilmente instalado. Basta adicionar ele no mix.exs e rodar o comando de dependências

mix.exs
defp deps do
  [
    {:tesla, "~> 1.4"},
    {:bypass, "~> 2.1"}
  ]
end
mix deps.get
> mix deps.get                                     
Resolving Hex dependencies...
Resolution completed in 0.22s
New:
  bypass 2.1.0
  cowboy 2.12.0
  cowboy_telemetry 0.4.0
  cowlib 2.13.0
  plug 1.15.3
  plug_cowboy 2.7.1
  plug_crypto 2.0.0
  ranch 1.8.0
  telemetry 1.2.1
Unchanged:
  mime 2.0.5
  tesla 1.8.0
* Getting bypass (Hex package)
* Getting plug (Hex package)
* Getting plug_cowboy (Hex package)
* Getting ranch (Hex package)
* Getting cowboy (Hex package)
* Getting cowboy_telemetry (Hex package)
* Getting telemetry (Hex package)
* Getting cowlib (Hex package)
* Getting plug_crypto (Hex package)
You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more

Algumas outras bibliotecas vieram junto para conseguir lidar com requisições HTTP. Mas não vamos nos preocupar com isso.

A ideia é cada vez que rodarmos testes que precisam fazer requisições externas, tenhamos um serviço pronto para receber e trazer para nós a resposta que esperamos. Igual um serviço como nossa aplicação.

Vamos ver como fazer isso a seguir.

AnteriorEstratégia de teste para requisiçõesPróximoMockando requisições do cliente com Bypass

Atualizado há 1 ano

Isto foi útil?