Class: EacRest::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/eac_rest/request.rb

Constant Summary collapse

BODY_DATA_JSON_HEADERS =
{ 'Content-Type' => 'application/json' }.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url, response_body_data_proc = nil) ⇒ Request

Returns a new instance of Request.

Parameters:

  • url (EacEnvs::Http::Request, String)
  • response_body_data_proc (Proc, nil) (defaults to: nil)


14
15
16
17
18
19
20
21
22
23
# File 'lib/eac_rest/request.rb', line 14

def initialize(url, response_body_data_proc = nil)
  if url.is_a?(::EacEnvs::Http::Request)
    @internal_request = url
  else
    @internal_request = ::EacEnvs::Http::Request.new.url(url)
    response_body_data_proc.if_present do |v|
      @internal_request = @internal_request.response_body_data_proc(v)
    end
  end
end

Instance Attribute Details

#internal_requestObject (readonly)

Returns the value of attribute internal_request.



10
11
12
# File 'lib/eac_rest/request.rb', line 10

def internal_request
  @internal_request
end

Instance Method Details

#autenticate(username, password) ⇒ EacRest::Request

Returns:



40
41
42
# File 'lib/eac_rest/request.rb', line 40

def autenticate(username, password)
  self.class.new(internal_request.basic_auth(username, password))
end

#body_data_json(object) ⇒ Object

Parameters:

  • object (Object)
  • self


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

def body_data_json(object)
  body_data(object.to_json).headers(headers.merge(BODY_DATA_JSON_HEADERS))
end

#responseEacRest::Response

Returns:



51
52
53
# File 'lib/eac_rest/request.rb', line 51

def response
  ::EacRest::Response.new(self)
end