From a40cdc4357fd7b69a9a7a83f4e08a7631c9668f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20S=2E=20Montero?= Date: Tue, 21 Jul 2009 19:24:42 +0000 Subject: [PATCH] upload_method for the client git-svn-id: http://svn.opennebula.org/one/trunk@720 3034c82b-c49b-4eb3-8279-a7acafdc01c0 --- src/oca/ec2/client.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/oca/ec2/client.rb b/src/oca/ec2/client.rb index 16b992491b..836c4f9631 100644 --- a/src/oca/ec2/client.rb +++ b/src/oca/ec2/client.rb @@ -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 +