releaseable 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.6
1
+ 0.0.7
@@ -71,7 +71,6 @@ class Logger
71
71
  @config[:time_format] ||= @config[:time] || '%M:%S.%N'
72
72
 
73
73
  unless @config[:ignore] # fatal errors
74
- @config[:progname] = config[:progname] || ''
75
74
  @config[:tag] = config[:tag] || config[:name] || config[:connection] && config[:env] ?
76
75
  "#{config[:env]}#{config[:connection][:client_id]}" : "Tag#{rand(10000)}"
77
76
  input = case @config[:input]
@@ -1,33 +1,15 @@
1
1
  #require 'httpclient'
2
- #require 'net/http'
2
+ require 'net/http'
3
+ require 'net/https'
3
4
  require 'xmlsimple'
4
- require 'faraday'
5
- require 'faraday_middleware'
6
5
  require 'json'
7
6
 
8
7
  module Releaseable
9
8
  module GitHub
10
9
 
11
- #OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
12
-
13
- def self.connection
14
- Faraday.new(:ssl => {:verify => false}) do |connection|
15
- connection.use Faraday::Request::UrlEncoded
16
- connection.use Faraday::Response::Logger
17
- connection.adapter(Faraday.default_adapter)
18
- end
19
- end
20
-
21
- #def self.get address #, data
22
- # connection.get address
23
- #end
24
- #
25
- #def self.post address, data
26
- # connection.post address, data
27
- #end
10
+ OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
28
11
 
29
12
  def self.post address, data
30
- require 'net/http'
31
13
  p uri = URI(address) #'https://secure.example.com/some_path?query=string')
32
14
 
33
15
  #Net::HTTP.start(uri.host, uri.port,
@@ -43,6 +25,7 @@ module Releaseable
43
25
  server = Net::HTTP.new(uri.host, uri.port)
44
26
  server.use_ssl = (uri.scheme == 'https')
45
27
  server.verify_mode = OpenSSL::SSL::VERIFY_NONE if server.use_ssl?
28
+
46
29
  server.start do |http|
47
30
  req = Net::HTTP::Post.new(uri.path)
48
31
  case data
@@ -54,8 +37,6 @@ module Releaseable
54
37
  end
55
38
  http.request(req)
56
39
  end
57
- #rescue => err
58
- # p err
59
40
  end
60
41
 
61
42
  def self.upload info = {}
@@ -71,7 +52,7 @@ module Releaseable
71
52
  if info[:file]
72
53
  file = info[:file]
73
54
  raise "bad file #{info[:file]}" unless File.exist?(file) && File.readable?(file)
74
- info[:name] ||= File.basename(file) + rand(1000).to_s
55
+ info[:name] ||= File.basename(file) + rand(1000).to_s
75
56
  end
76
57
 
77
58
  raise "required name for filename with data parameter" unless info[:name]
@@ -85,83 +66,76 @@ module Releaseable
85
66
  'description' => info[:description] || '',
86
67
  'login' => info[:login],
87
68
  'token' => info[:token]
88
-
69
+ #p response.body
89
70
  raise "Failed to post file info" unless response.code.to_i == 200 #status == 200
90
71
 
91
- puts upload = JSON.parse(response.body)
92
- upload.each { |k, v| print "#{k}:"; p v }
93
- p upload['expirationdate']
94
- p Time.utc *upload['expirationdate'].split(/[-T:]/)
95
- sec = Time.utc(*upload['expirationdate'].split(/[-T:]/)).to_i
72
+ upload = JSON.parse(response.body)
96
73
 
97
- f = File.open(info[:file], 'rb')
74
+ #upload.each { |k, v| print "#{k}:"; p v }
75
+ #sec = Time.utc(*upload['expirationdate'].split(/[-T:]/)).to_i
98
76
 
99
- ##stat = HTTPClient.post("http://github.s3.amazonaws.com/", [
100
- response = post "http://github.s3.amazonaws.com/",
101
- 'key' => upload['path'], #.gsub(/\//, '%2F'),
102
- 'acl' => upload['acl'], #"public-read", #
103
- 'success_action_status' => 201,
104
- 'Filename' => info[:name],
105
- 'AWSAccessKeyId' => upload['accesskeyid'],
106
- 'Policy' => upload['policy'],
107
- #'policy' => upload['policy'],
108
- #'signature' => upload['signature'],
109
- 'Signature' => upload['signature'],
110
- 'Expires' => 1483421360, #sec, #upload['expirationdate'],
111
- 'Content-Type' => upload['mime_type'] || 'application/octet-stream',
112
- 'file' => f
77
+ curl = "curl -F \"key=#{upload['path']}\" -F \"acl=#{upload['acl']}\" " +
78
+ "-F \"success_action_status=201\" -F \"Filename=#{info[:name]}\" " +
79
+ "-F \"AWSAccessKeyId=#{upload['accesskeyid']}\" -F \"Policy=#{upload['policy']}\" "+
80
+ "-F \"Signature=#{upload['signature']}\" -F \"Content-Type=application/octet-stream\" "+
81
+ "-F \"file=@#{info[:file]}\" https://github.s3.amazonaws.com/"
82
+
83
+ response = `#{curl}`
84
+
85
+ analyze_curl_response response
86
+
87
+ #f = File.open(info[:file], 'rb')
88
+ ###stat = HTTPClient.post("http://github.s3.amazonaws.com/", [
113
89
  #response = post "http://github.s3.amazonaws.com/",
114
- # 'Filename' => info[:name],
115
- # 'policy' => upload['policy'],
90
+ # 'key' => upload['path'], #.gsub(/\//, '%2F'),
91
+ # 'acl' => upload['acl'], #"public-read", #
116
92
  # 'success_action_status' => 201,
117
- # 'key' => upload['path'].gsub(/\//, '%2F'),
93
+ # 'Filename' => info[:name],
118
94
  # 'AWSAccessKeyId' => upload['accesskeyid'],
95
+ # 'Policy' => upload['policy'],
96
+ # #'policy' => upload['policy'],
97
+ # #'signature' => upload['signature'],
98
+ # 'Signature' => upload['signature'],
99
+ # 'Expires' => 1483421360, #sec, #upload['expirationdate'],
119
100
  # 'Content-Type' => upload['mime_type'] || 'application/octet-stream',
120
- # 'signature' => upload['signature'],
121
- # 'acl' => upload['acl'], #"public-read", #
122
101
  # 'file' => f
123
-
124
- #stat = HTTPClient.post("http://github.s3.amazonaws.com/", [
125
- # ['Filename', info[:name]],
126
- # ['policy', upload_info['policy']],
127
- # ['success_action_status', 201],
128
- # ['key', upload_info['path']],
129
- # ['AWSAccessKeyId', upload_info['accesskeyid']],
130
- # ['Content-Type', upload_info['content_type'] || 'application/octet-stream'],
131
- # ['signature', upload_info['signature']],
132
- # ['acl', upload_info['acl']],
133
- # ['file', f]
134
- #])
135
-
136
- #url = 'https://github.s3.amazonaws.com/'
137
- #form = {
138
- # 'key': 'downloads/octocat/Hello-World/new_file.jpg',
139
- # 'acl': 'public-read',
140
- # 'file': '@new_file.jpg'
141
- #}
102
+ ##response = post "http://github.s3.amazonaws.com/",
103
+ ## 'Filename' => info[:name],
104
+ ## 'policy' => upload['policy'],
105
+ ## 'success_action_status' => 201,
106
+ ## 'key' => upload['path'].gsub(/\//, '%2F'),
107
+ ## 'AWSAccessKeyId' => upload['accesskeyid'],
108
+ ## 'Content-Type' => upload['mime_type'] || 'application/octet-stream',
109
+ ## 'signature' => upload['signature'],
110
+ ## 'acl' => upload['acl'], #"public-read", #
111
+ ## 'file' => f
142
112
  #
143
- #r = requests.post(url, data=form)
144
-
145
- # curl \
146
- # -F "key=downloads/octocat/Hello-World/new_file.jpg" \
147
- # -F "acl=public-read" \
148
- # -F "success_action_status=201" \
149
- # -F "Filename=new_file.jpg" \
150
- # -F "AWSAccessKeyId=1ABCDEF..." \
151
- # -F "Policy=ewogIC..." \
152
- # -F "Signature=mwnF..." \
153
- # -F "Content-Type=image/jpeg" \
154
- # -F "file=@new_file.jpg" \
155
- #https://github.s3.amazonaws.com/
156
-
157
-
158
- f.close
159
-
160
- analyze_aws_response response
113
+ ##stat = HTTPClient.post("http://github.s3.amazonaws.com/", [
114
+ ## ['Filename', info[:name]],
115
+ ## ['policy', upload_info['policy']],
116
+ ## ['success_action_status', 201],
117
+ ## ['key', upload_info['path']],
118
+ ## ['AWSAccessKeyId', upload_info['accesskeyid']],
119
+ ## ['Content-Type', upload_info['content_type'] || 'application/octet-stream'],
120
+ ## ['signature', upload_info['signature']],
121
+ ## ['acl', upload_info['acl']],
122
+ ## ['file', f]
123
+ ##])
124
+ #f.close
125
+ #analyze_aws_response response
161
126
  end
162
127
 
163
128
  private
164
129
 
130
+ def self.analyze_curl_response response
131
+ message = XmlSimple.xml_in(response)
132
+ if message['Location']
133
+ message['Location'].first
134
+ else
135
+ raise "Failed to upload to AWS" + (" due to #{message}" rescue '')
136
+ end
137
+ end
138
+
165
139
  def self.analyze_aws_response response
166
140
  p message = XmlSimple.xml_in(response.body)
167
141
  if response.code.to_i == 201
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: releaseable
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.6
5
+ version: 0.0.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - arvicco