Class: Google::Storage::Network::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/google/storage/network/base.rb

Overview

A handler for authenticated network request

Direct Known Subclasses

Delete, Get, Post, Put

Instance Method Summary collapse

Constructor Details

#initialize(link, cred) ⇒ Base

Returns a new instance of Base.



36
37
38
39
# File 'lib/google/storage/network/base.rb', line 36

def initialize(link, cred)
  @link = link
  @cred = cred
end

Instance Method Details

#builderObject



41
42
43
# File 'lib/google/storage/network/base.rb', line 41

def builder
  Net::HTTP.const_get(self.class.name.split('::').last)
end

#sendObject



45
46
47
48
49
# File 'lib/google/storage/network/base.rb', line 45

def send
  request = @cred.authorize(builder.new(@link))
  request['User-Agent'] = generate_user_agent
  transport(request).request(request)
end

#transport(request) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/google/storage/network/base.rb', line 51

def transport(request)
  uri = request.uri
  puts "network(#{request}: #{uri})" \
    unless ENV['GOOGLE_HTTP_VERBOSE'].nil?
  transport = Net::HTTP.new(uri.host, uri.port)
  transport.use_ssl = uri.is_a?(URI::HTTPS)
  transport.verify_mode = OpenSSL::SSL::VERIFY_PEER
  transport.set_debug_output $stderr \
    unless ENV['GOOGLE_HTTP_DEBUG'].nil?
  transport
end