Class: BucketClient::DigitalOceanHttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/bucket_client/digital_ocean/digital_ocean_http_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(signer, region, http) ⇒ DigitalOceanHttpClient

Returns a new instance of DigitalOceanHttpClient.

Parameters:

  • signer (Client::AWS4RequestSigner)

    aws4 signer

  • region (String)

    region of the service

  • http (KirinHttp::Client)

    Http client to send http Message



6
7
8
9
10
# File 'lib/bucket_client/digital_ocean/digital_ocean_http_client.rb', line 6

def initialize(signer, region, http)
	@signer = signer
	@region = region
	@http = http
end

Instance Method Details

#query(method, endpoint, content = nil, type = "application/xml", accept = nil, headers = {}) ⇒ KirinHttp::Response

Parameters:

  • method (Symbol)
  • endpoint (String)
  • content (Object) (defaults to: nil)
  • type (String) (defaults to: "application/xml")
  • accept (String) (defaults to: nil)
  • headers (Hash) (defaults to: {})

Returns:

  • (KirinHttp::Response)


19
20
21
22
23
24
25
26
27
28
# File 'lib/bucket_client/digital_ocean/digital_ocean_http_client.rb', line 19

def query(method, endpoint, content = nil, type = "application/xml", accept = nil, headers = {})
	accept = type if accept.nil?
	header = {
		"Content-Type": type,
		"Accept": accept
	}.merge(headers)
	message = KirinHttp::Message.new(endpoint, method, content, header)
	message = @signer.sign message, "s3", @region
	@http.send message
end