Class: Dropcam::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/dropcam/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cookiesObject

Returns the value of attribute cookies.



24
25
26
# File 'lib/dropcam/base.rb', line 24

def cookies
  @cookies
end

#session_tokenObject

Returns the value of attribute session_token.



24
25
26
# File 'lib/dropcam/base.rb', line 24

def session_token
  @session_token
end

Instance Method Details

#delete(path, parameters, cookies, use_nexus = false) ⇒ Object



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# File 'lib/dropcam/base.rb', line 111

def delete(path, parameters,cookies, use_nexus=false)
  http = _dropcam_http(use_nexus)
        
  query_path = "#{path}"
  query_path = "#{path}?#{URI.encode_www_form(parameters)}" if parameters.length > 0
  request = Net::HTTP::Delete.new(query_path)      
  
  request.add_field("Cookie",cookies.join('; ')) if cookies
        
  response = http.request(request)
  if response.success?
    return response.body ## returns a zip
  elsif response.not_authorized?
    raise AuthorizationError 
  else 
    raise CameraNotFoundError 
  end
end

#get(path, parameters, cookies, use_nexus = false) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/dropcam/base.rb', line 92

def get(path, parameters,cookies, use_nexus=false)
  http = _dropcam_http(use_nexus)

  query_path = "#{path}"
  query_path = "#{path}?#{URI.encode_www_form(parameters)}" if parameters.length > 0
  request = Net::HTTP::Get.new(query_path)      
  
  request.add_field("Cookie",cookies.join('; ')) if cookies
  
  response = http.request(request)
  if response.success?
    return response
  elsif response.not_authorized?
    raise AuthorizationError 
  else 
    raise CameraNotFoundError 
  end
end

#post(path, parameters, cookies, use_nexus = false) ⇒ Object

videos.get # id = clip_id videos.download # id = clip_id videos.play # id = clip_idß



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/dropcam/base.rb', line 67

def post(path, parameters, cookies, use_nexus=false)

  http = _dropcam_http(use_nexus)
  
  request = Net::HTTP::Post.new(path)
  request.set_form_data(parameters)
  
  request.add_field("Cookie",cookies.join('; ')) if cookies

  response = http.request(request)
        
  if response.success?
    return response
  elsif response.not_authorized?
    raise AuthorizationError 
  elsif response.error?
    message = "Unkown Error"
    message = JSON.parse(response.body)["status_detail"] if JSON.parse(response.body)["status_detail"]
    raise UnkownError, message
  else 
    raise CameraNotFoundError 
  end
  
end