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 +