Class: Duracloud::Response

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/duracloud/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(original_response) ⇒ Response

Returns a new instance of Response.



16
17
18
# File 'lib/duracloud/response.rb', line 16

def initialize(original_response)
  @original_response = original_response
end

Instance Attribute Details

#original_responseObject (readonly)

Returns the value of attribute original_response.



8
9
10
# File 'lib/duracloud/response.rb', line 8

def original_response
  @original_response
end

Instance Method Details

#error?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/duracloud/response.rb', line 20

def error?
  !(ok? || redirect?)
end

#has_body?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/duracloud/response.rb', line 28

def has_body?
  !empty?
end

#headersObject



32
33
34
35
36
37
# File 'lib/duracloud/response.rb', line 32

def headers
  header.all.each_with_object({}) do |(name, value), memo|
    memo[name] ||= []
    memo[name] << value
  end
end

#md5Object



39
40
41
# File 'lib/duracloud/response.rb', line 39

def md5
  header["content-md5"].first
end

#modifiedObject



47
48
49
# File 'lib/duracloud/response.rb', line 47

def modified
  DateTime.parse(header["last-modified"].first) rescue nil
end

#plain_text?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/duracloud/response.rb', line 24

def plain_text?
  content_type == "text/plain"
end

#sizeObject



43
44
45
# File 'lib/duracloud/response.rb', line 43

def size
  header["content-length"].first.to_i rescue nil
end