Class: EacEnvs::Http::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/eac_envs/http/request.rb,
lib/eac_envs/http/request/body_field.rb,
lib/eac_envs/http/request/body_fields.rb,
lib/eac_envs/http/request/body_field_value.rb,
lib/eac_envs/http/request/faraday_connection.rb

Defined Under Namespace

Classes: BodyField, BodyFieldValue, BodyFields, FaradayConnection

Constant Summary collapse

BOOLEAN_MODIFIERS =
%w[follow_redirect retry ssl_verify].freeze
COMMON_MODIFIERS =
%w[auth body_data response_body_data_proc url verb].freeze
HASH_MODIFIERS =
%w[header].freeze
MODIFIERS =
COMMON_MODIFIERS + BOOLEAN_MODIFIERS + HASH_MODIFIERS.map(&:pluralize)

Instance Method Summary collapse

Instance Method Details

#basic_auth(username, password) ⇒ Object



22
23
24
# File 'lib/eac_envs/http/request.rb', line 22

def basic_auth(username, password)
  auth(::Struct.new(:username, :password).new(username, password))
end

#body_fieldsEacEnvs::Http::Request::BodyFields



27
28
29
# File 'lib/eac_envs/http/request.rb', line 27

def body_fields
  @body_fields ||= ::EacEnvs::Http::Request::BodyFields.new(body_data)
end

#faraday_responseFaraday::Response

Returns:

  • (Faraday::Response)


32
33
34
35
36
37
38
39
# File 'lib/eac_envs/http/request.rb', line 32

def faraday_response
  validate_url
  conn = faraday_connection
  conn.send(sanitized_verb, url) do |req|
    req.headers = conn.headers.merge(headers)
    sanitized_body_data.if_present { |v| req.body = v }
  end
end

#responseObject



41
42
43
# File 'lib/eac_envs/http/request.rb', line 41

def response
  ::EacEnvs::Http::Response.new(self)
end

#sanitized_verbSymbol

Returns:

  • (Symbol)


46
47
48
# File 'lib/eac_envs/http/request.rb', line 46

def sanitized_verb
  verb.if_present(VERB_GET) { |v| self.class.lists.verb.value_validate!(v) }
end