1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-16 22:50:10 +03:00

upload_method for the client

git-svn-id: http://svn.opennebula.org/one/trunk@720 3034c82b-c49b-4eb3-8279-a7acafdc01c0
This commit is contained in:
Rubén S. Montero 2009-07-21 19:24:42 +00:00
parent 5f0b2e9472
commit a40cdc4357

View File

@ -33,3 +33,33 @@ base=EC2::Base.new(
pp base.describe_instances
def upload_request (base, file_name=nil )
params = {"Action" => "UploadImage",
"SignatureVersion" => "2",
"SignatureMethod" => 'HmacSHA1',
"AWSAccessKeyId" => ACCESS_KEY_ID,
"Version" => API_VERSION,
"Timestamp"=>Time.now.getutc.iso8601}
#sig = base.get_aws_auth_param(params, SECRET_ACCESS_KEY, SERVER)
canonical_string = EC2.canonical_string(params, SERVER)
sig = EC2.encode(SECRET_ACCESS_KEY, canonical_string, false)
pp sig
post_fields = Array.new;
params.each { |k,v|
post_fields << Curl::PostField.content(k,v)
}
post_fields << Curl::PostField.content("Signature",sig)
post_fields << Curl::PostField.file("file",file_name)
c = Curl::Easy.new("http://localhost:4567/")
c.multipart_form_post = true
c.http_post(*post_fields)
#pp c.body_str
end