Class: DmCloud::Request

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

Constant Summary collapse

DAILYMOTION_API =
'http://api.DmCloud.net/api'
DAILYMOTION_STATIC =
'http://api.DmCloud.net/api'

Class Method Summary collapse

Class Method Details

.define(action) ⇒ Object



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

def self.define(action)
  DAILYMOTION_API
end

.execute(call, params = {}) ⇒ Object

This method control signing for Media calls and handle request and response.



11
12
13
14
15
16
# File 'lib/dm_cloud/request.rb', line 11

def self.execute(call, params = {})
  url = define(call)
  params['auth'] = DmCloud::Signing.identify(params)
  result = send_request(params)
  parse_response(result)
end

.parse_response(result) ⇒ Object



37
38
39
# File 'lib/dm_cloud/request.rb', line 37

def self.parse_response(result)
  JSON.parse(result)
end

.send_request(params) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/dm_cloud/request.rb', line 19

def self.send_request(params)
  @uri = URI.parse(DAILYMOTION_API)

  http    = Net::HTTP.new(@uri.host, @uri.port)
  request = Net::HTTP::Post.new(@uri.request_uri)
  request.content_type = 'application/json'
  request.body = params.to_json

  #puts "Request body in send_request:"
  #puts request.body

  #puts 'request (YAML format ): ' + request.to_yaml + "\n" + '-' * 80

  http.request(request).body
end