Class: UcloudApi::Storage

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/ucloud_api/storage.rb

Instance Method Summary collapse

Constructor Details

#initialize(user = nil, pass = nil) ⇒ Storage

debug_output $stderr



13
14
15
16
# File 'lib/ucloud_api/storage.rb', line 13

def initialize(user=nil, pass=nil)
  @user = user || ENV["UCLOUD_STORAGE_USER"]
  @pass = pass || ENV["UCLOUD_STORAGE_PASS"]
end

Instance Method Details

#authObject



18
19
20
21
22
23
24
25
# File 'lib/ucloud_api/storage.rb', line 18

def auth
  auth_url = 'https://api.ucloudbiz.olleh.com/storage/v1/auth'
  response = self.class.get auth_url , :headers => { "X-Storage-User" => @user, "X-Storage-Pass"=> @pass }
  headers = response.headers
  @storage_url = headers["X-Storage-Url"]
  @auth_token = headers["X-Auth-Token"]
  response
end

#get(path, options = {}) ⇒ Object



28
29
30
31
32
33
# File 'lib/ucloud_api/storage.rb', line 28

def get path, options = {}
  url = File.join @storage_url,path
  params = { format: "json" }.merge options
  response = self.class.get url, :query => params, :headers=> {"X-Auth-Token"=> @auth_token}
  response.parsed_response
end

#head(path, options = {}) ⇒ Object



35
36
37
38
39
# File 'lib/ucloud_api/storage.rb', line 35

def head path, options = {}
  url = File.join @storage_url,path
  params = { format: "json" }.merge options
  self.class.head url, :query => params, :headers=> {"X-Auth-Token"=> @auth_token}
end