Class: TingYun::Http::NetHttpRequest

Inherits:
AbstractRequest show all
Defined in:
lib/ting_yun/http/net_http_request.rb

Constant Summary

Constants inherited from AbstractRequest

AbstractRequest::ERROR_MESSAGE

Instance Method Summary collapse

Constructor Details

#initialize(connection, request) ⇒ NetHttpRequest

Returns a new instance of NetHttpRequest.



5
6
7
8
# File 'lib/ting_yun/http/net_http_request.rb', line 5

def initialize(connection, request)
  @connection = connection
  @request = request
end

Instance Method Details

#[](key) ⇒ Object



30
31
32
# File 'lib/ting_yun/http/net_http_request.rb', line 30

def [](key)
  @request[key]
end

#[]=(key, value) ⇒ Object



34
35
36
# File 'lib/ting_yun/http/net_http_request.rb', line 34

def []=(key, value)
  @request[key] = value
end

#fromObject



14
15
16
# File 'lib/ting_yun/http/net_http_request.rb', line 14

def from
  "net%2Fhttp"
end

#hostObject



18
19
20
21
22
23
24
# File 'lib/ting_yun/http/net_http_request.rb', line 18

def host
  if hostname = self['host']
    hostname.split(':').first
  else
    @connection.address
  end
end

#methodObject



26
27
28
# File 'lib/ting_yun/http/net_http_request.rb', line 26

def method
  @request.method
end

#typeObject



10
11
12
# File 'lib/ting_yun/http/net_http_request.rb', line 10

def type
  'Net::HTTP'
end

#uriObject



38
39
40
41
42
43
44
45
46
# File 'lib/ting_yun/http/net_http_request.rb', line 38

def uri
  case @request.path
    when /^https?:\/\//
      URI(@request.path)
    else
      scheme = @connection.use_ssl? ? 'https' : 'http'
      URI("#{scheme}://#{@connection.address}:#{@connection.port}#{@request.path}")
  end
end