Class: ApiBrasil::Core::Transport::NetHttpTransport

Inherits:
Base
  • Object
show all
Defined in:
lib/api_brasil/core/transport/net_http_transport.rb

Overview

Transporte padrao, sem dependencias: usa apenas net/http da stdlib.

Constant Summary collapse

METHODS =

Verbos suportados -> classe de requisicao do net/http.

{
  "GET" => Net::HTTP::Get,
  "HEAD" => Net::HTTP::Head,
  "POST" => Net::HTTP::Post,
  "PUT" => Net::HTTP::Put,
  "PATCH" => Net::HTTP::Patch,
  "DELETE" => Net::HTTP::Delete
}.freeze
MAX_REDIRECTS =

Limite de redirecionamentos seguidos automaticamente.

5
NETWORK_ERRORS =

Erros de conexao tratados como NetworkError.

[
  SocketError,
  IOError,
  SystemCallError,
  OpenSSL::SSL::SSLError,
  Net::HTTPBadResponse,
  Net::ProtocolError
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ NetHttpTransport

Returns a new instance of NetHttpTransport.

Parameters:

  • options (Hash) (defaults to: {})

    opcoes extras do Net::HTTP (ex: proxy_address, proxy_port, verify_mode, ca_file)



39
40
41
42
# File 'lib/api_brasil/core/transport/net_http_transport.rb', line 39

def initialize(options = {})
  super()
  @options = options || {}
end

Instance Method Details

#request(request) ⇒ Response

Parameters:

Returns:



46
47
48
# File 'lib/api_brasil/core/transport/net_http_transport.rb', line 46

def request(request)
  perform(request, request.url, MAX_REDIRECTS)
end