Class: Youtu::Request::RequestConfig

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

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ RequestConfig

Returns a new instance of RequestConfig.



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

def initialize(opts={})
  parse_url = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/
  opts[:payload].merge!({"app_id": Youtu.config.app_id})
  payload = RestClient::Payload.generate(opts[:payload].to_json)
  @_config = {
    url: Youtu.config.host + opts[:url],
    method: opts[:method],
    payload: payload.read,
    headers: {
      authorization: Youtu::Sign.signature,
      content_type: "text/json",
      content_length: payload.size,
      user_agent: "ua",
      Host: Youtu.config.host.match(parse_url)[3]
    }
  }
  @_config.merge({headers: opts[:headers]})
end

Instance Method Details

#configObject



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

def config
  @_config
end