Class: Sofia::Adapter::Soren

Inherits:
Base
  • Object
show all
Defined in:
lib/sofia/adapter/soren.rb

Constant Summary collapse

SOREN_CONNECTION_EXCEPTIONS =
T.let(
  [
    ::Soren::Error::ConnectionError,
    ::Soren::Error::ConnectionRefused,
    ::Soren::Error::DNSFailure,
  ].freeze,
  T::Array[T.class_of(::Soren::Error::Base)],
)
SOREN_TIMEOUT_EXCEPTIONS =
T.let(
  [
    ::Soren::Error::TimeoutError,
    ::Soren::Error::ReadTimeout,
  ].freeze,
  T::Array[T.class_of(::Soren::Error::Base)],
)

Class Method Summary collapse

Class Method Details

.call(request) ⇒ Object

: (Sofia::Request request) -> Sofia::Response



30
31
32
33
34
35
36
# File 'lib/sofia/adapter/soren.rb', line 30

def call(request)
  uri        = parse_uri(request.url)
  connection = build_connection(uri, request)
  soren_req  = build_request(uri, request)
  response   = perform_request(connection, soren_req)
  adapt_response(response, request)
end