multipart-post 2.1.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/parts.rb CHANGED
@@ -1,126 +1,2 @@
1
- #--
2
- # Copyright (c) 2007-2013 Nick Sieger.
3
- # See the file README.txt included with the distribution for
4
- # software license details.
5
- #++
6
-
7
- module Parts
8
- module Part
9
- def self.new(boundary, name, value, headers = {})
10
- headers ||= {} # avoid nil values
11
- if file?(value)
12
- FilePart.new(boundary, name, value, headers)
13
- else
14
- ParamPart.new(boundary, name, value, headers)
15
- end
16
- end
17
-
18
- def self.file?(value)
19
- value.respond_to?(:content_type) && value.respond_to?(:original_filename)
20
- end
21
-
22
- def length
23
- @part.length
24
- end
25
-
26
- def to_io
27
- @io
28
- end
29
- end
30
-
31
- # Represents a parametric part to be filled with given value.
32
- class ParamPart
33
- include Part
34
-
35
- # @param boundary [String]
36
- # @param name [#to_s]
37
- # @param value [String]
38
- # @param headers [Hash] Content-Type is used, if present.
39
- def initialize(boundary, name, value, headers = {})
40
- @part = build_part(boundary, name, value, headers)
41
- @io = StringIO.new(@part)
42
- end
43
-
44
- def length
45
- @part.bytesize
46
- end
47
-
48
- # @param boundary [String]
49
- # @param name [#to_s]
50
- # @param value [String]
51
- # @param headers [Hash] Content-Type is used, if present.
52
- def build_part(boundary, name, value, headers = {})
53
- part = ''
54
- part << "--#{boundary}\r\n"
55
- part << "Content-Disposition: form-data; name=\"#{name.to_s}\"\r\n"
56
- part << "Content-Type: #{headers["Content-Type"]}\r\n" if headers["Content-Type"]
57
- part << "\r\n"
58
- part << "#{value}\r\n"
59
- end
60
- end
61
-
62
- # Represents a part to be filled from file IO.
63
- class FilePart
64
- include Part
65
-
66
- attr_reader :length
67
-
68
- # @param boundary [String]
69
- # @param name [#to_s]
70
- # @param io [IO]
71
- # @param headers [Hash]
72
- def initialize(boundary, name, io, headers = {})
73
- file_length = io.respond_to?(:length) ? io.length : File.size(io.local_path)
74
- @head = build_head(boundary, name, io.original_filename, io.content_type, file_length,
75
- io.respond_to?(:opts) ? io.opts.merge(headers) : headers)
76
- @foot = "\r\n"
77
- @length = @head.bytesize + file_length + @foot.length
78
- @io = CompositeReadIO.new(StringIO.new(@head), io, StringIO.new(@foot))
79
- end
80
-
81
- # @param boundary [String]
82
- # @param name [#to_s]
83
- # @param filename [String]
84
- # @param type [String]
85
- # @param content_len [Integer]
86
- # @param opts [Hash]
87
- def build_head(boundary, name, filename, type, content_len, opts = {})
88
- opts = opts.clone
89
-
90
- trans_encoding = opts.delete("Content-Transfer-Encoding") || "binary"
91
- content_disposition = opts.delete("Content-Disposition") || "form-data"
92
-
93
- part = ''
94
- part << "--#{boundary}\r\n"
95
- part << "Content-Disposition: #{content_disposition}; name=\"#{name.to_s}\"; filename=\"#{filename}\"\r\n"
96
- part << "Content-Length: #{content_len}\r\n"
97
- if content_id = opts.delete("Content-ID")
98
- part << "Content-ID: #{content_id}\r\n"
99
- end
100
-
101
- if opts["Content-Type"] != nil
102
- part << "Content-Type: " + opts["Content-Type"] + "\r\n"
103
- else
104
- part << "Content-Type: #{type}\r\n"
105
- end
106
-
107
- part << "Content-Transfer-Encoding: #{trans_encoding}\r\n"
108
-
109
- opts.each do |k, v|
110
- part << "#{k}: #{v}\r\n"
111
- end
112
-
113
- part << "\r\n"
114
- end
115
- end
116
-
117
- # Represents the epilogue or closing boundary.
118
- class EpiloguePart
119
- include Part
120
-
121
- def initialize(boundary)
122
- @part = "--#{boundary}--\r\n"
123
- @io = StringIO.new(@part)
124
- end
125
- end
126
- end
1
+ warn "Top level ::Parts is deprecated, require 'multipart/post' and use `Multipart::Post::Parts` instead!"
2
+ require_relative 'multipart/post'
data.tar.gz.sig ADDED
@@ -0,0 +1 @@
1
+ +�s\�H;�������<4ԏ<�,��X}Ȑv�Z:�'�܋��Љpޡ �?�L��WN"r�� �td‟� q��1�`��?�+e$�l�.�{�]�FwTY#��s��i衦PirD�!�������m��
metadata CHANGED
@@ -1,15 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multipart-post
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sieger
8
8
  - Samuel Williams
9
- autorequire:
9
+ - Olle Jonsson
10
+ - McClain Looney
11
+ - Lewis Cowles
12
+ - Gustav Ernberg
13
+ - Patrick Davey
14
+ - Steven Davidovitz
15
+ - Alex Koppel
16
+ - Ethan Turkeltaub
17
+ - Jagtesh Chadha
18
+ - Jason York
19
+ - Nick
20
+ - VincWebwag
21
+ - hasimo
22
+ - hexfet
23
+ - Christine Yen
24
+ - David Moles
25
+ - Eric Hutzelman
26
+ - Feuda Nan
27
+ - Gerrit Riessen
28
+ - Jan Piotrowski
29
+ - Jan-Joost Spanjers
30
+ - Jason Moore
31
+ - Jeff Hodges
32
+ - Johannes Wagener
33
+ - Jordi Massaguer Pla
34
+ - Lachlan Priest
35
+ - Leo Cassarani
36
+ - Lonre Wang
37
+ - Luke Redpath
38
+ - Matt Colyer
39
+ - Mislav Marohnić
40
+ - Socrates Vicente
41
+ - Steffen Grunwald
42
+ - Tim Barkley
43
+ autorequire:
10
44
  bindir: bin
11
- cert_chain: []
12
- date: 2019-05-13 00:00:00.000000000 Z
45
+ cert_chain:
46
+ - |
47
+ -----BEGIN CERTIFICATE-----
48
+ MIIEhDCCAuygAwIBAgIBATANBgkqhkiG9w0BAQsFADA3MTUwMwYDVQQDDCxzYW11
49
+ ZWwud2lsbGlhbXMvREM9b3Jpb250cmFuc2Zlci9EQz1jby9EQz1uejAeFw0yMTA4
50
+ MTYwNjMzNDRaFw0yMjA4MTYwNjMzNDRaMDcxNTAzBgNVBAMMLHNhbXVlbC53aWxs
51
+ aWFtcy9EQz1vcmlvbnRyYW5zZmVyL0RDPWNvL0RDPW56MIIBojANBgkqhkiG9w0B
52
+ AQEFAAOCAY8AMIIBigKCAYEAyXLSS/cw+fXJ5e7hi+U/TeChPWeYdwJojDsFY1xr
53
+ xvtqbTTL8gbLHz5LW3QD2nfwCv3qTlw0qI3Ie7a9VMJMbSvgVEGEfQirqIgJXWMj
54
+ eNMDgKsMJtC7u/43abRKx7TCURW3iWyR19NRngsJJmaR51yGGGm2Kfsr+JtKKLtL
55
+ L188Wm3f13KAx7QJU8qyuBnj1/gWem076hzdA7xi1DbrZrch9GCRz62xymJlrJHn
56
+ 9iZEZ7AxrS7vokhMlzSr/XMUihx/8aFKtk+tMLClqxZSmBWIErWdicCGTULXCBNb
57
+ E/mljo4zEVKhlTWpJklMIhr55ZRrSarKFuW7en0+tpJrfsYiAmXMJNi4XAYJH7uL
58
+ rgJuJwSaa/dMz+VmUoo7VKtSfCoOI+6v5/z0sK3oT6sG6ZwyI47DBq2XqNC6tnAj
59
+ w+XmCywiTQrFzMMAvcA7rPI4F0nU1rZId51rOvvfxaONp+wgTi4P8owZLw0/j0m4
60
+ 8C20DYi6EYx4AHDXiLpElWh3AgMBAAGjgZowgZcwCQYDVR0TBAIwADALBgNVHQ8E
61
+ BAMCBLAwHQYDVR0OBBYEFB6ZaeWKxQjGTI+pmz7cKRmMIywwMC4GA1UdEQQnMCWB
62
+ I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MC4GA1UdEgQnMCWB
63
+ I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MA0GCSqGSIb3DQEB
64
+ CwUAA4IBgQBVoM+pu3dpdUhZM1w051iw5GfiqclAr1Psypf16Tiod/ho//4oAu6T
65
+ 9fj3DPX/acWV9P/FScvqo4Qgv6g4VWO5ZU7z2JmPoTXZtYMunRAmQPFL/gSUc6aK
66
+ vszMHIyhtyzRc6DnfW2AiVOjMBjaYv8xXZc9bduniRVPrLR4J7ozmGLh4o4uJp7w
67
+ x9KCFaR8Lvn/r0oJWJOqb/DMAYI83YeN2Dlt3jpwrsmsONrtC5S3gOUle5afSGos
68
+ bYt5ocnEpKSomR9ZtnCGljds/aeO1Xgpn2r9HHcjwnH346iNrnHmMlC7BtHUFPDg
69
+ Ts92S47PTOXzwPBDsrFiq3VLbRjHSwf8rpqybQBH9MfzxGGxTaETQYOd6b4e4Ag6
70
+ y92abGna0bmIEb4+Tx9rQ10Uijh1POzvr/VTH4bbIPy9FbKrRsIQ24qDbNJRtOpE
71
+ RAOsIl+HOBTb252nx1kIRN5hqQx272AJCbCjKx8egcUQKffFVVCI0nye09v5CK+a
72
+ HiLJ8VOFx6w=
73
+ -----END CERTIFICATE-----
74
+ date: 2022-06-03 00:00:00.000000000 Z
13
75
  dependencies:
14
76
  - !ruby/object:Gem::Dependency
15
77
  name: bundler
@@ -17,83 +79,64 @@ dependencies:
17
79
  requirements:
18
80
  - - ">="
19
81
  - !ruby/object:Gem::Version
20
- version: '1.3'
21
- - - "<"
22
- - !ruby/object:Gem::Version
23
- version: '3'
82
+ version: '0'
24
83
  type: :development
25
84
  prerelease: false
26
85
  version_requirements: !ruby/object:Gem::Requirement
27
86
  requirements:
28
87
  - - ">="
29
88
  - !ruby/object:Gem::Version
30
- version: '1.3'
31
- - - "<"
32
- - !ruby/object:Gem::Version
33
- version: '3'
89
+ version: '0'
34
90
  - !ruby/object:Gem::Dependency
35
- name: rspec
91
+ name: rake
36
92
  requirement: !ruby/object:Gem::Requirement
37
93
  requirements:
38
- - - "~>"
94
+ - - ">="
39
95
  - !ruby/object:Gem::Version
40
- version: '3.4'
96
+ version: '0'
41
97
  type: :development
42
98
  prerelease: false
43
99
  version_requirements: !ruby/object:Gem::Requirement
44
100
  requirements:
45
- - - "~>"
101
+ - - ">="
46
102
  - !ruby/object:Gem::Version
47
- version: '3.4'
103
+ version: '0'
48
104
  - !ruby/object:Gem::Dependency
49
- name: rake
105
+ name: rspec
50
106
  requirement: !ruby/object:Gem::Requirement
51
107
  requirements:
52
- - - ">="
108
+ - - "~>"
53
109
  - !ruby/object:Gem::Version
54
- version: '0'
110
+ version: '3.4'
55
111
  type: :development
56
112
  prerelease: false
57
113
  version_requirements: !ruby/object:Gem::Requirement
58
114
  requirements:
59
- - - ">="
115
+ - - "~>"
60
116
  - !ruby/object:Gem::Version
61
- version: '0'
62
- description: 'Use with Net::HTTP to do multipart form postspec. IO values that have
63
- #content_type, #original_filename, and #local_path will be posted as a binary file.'
117
+ version: '3.4'
118
+ description:
64
119
  email:
65
- - nick@nicksieger.com
66
- - samuel.williams@oriontransfer.co.nz
67
120
  executables: []
68
121
  extensions: []
69
122
  extra_rdoc_files: []
70
123
  files:
71
- - ".gitignore"
72
- - ".rspec"
73
- - ".travis.yml"
74
- - ".yardopts"
75
- - Gemfile
76
- - History.txt
77
- - LICENSE
78
- - Manifest.txt
79
- - README.md
80
- - Rakefile
81
124
  - lib/composite_io.rb
125
+ - lib/multipart/post.rb
126
+ - lib/multipart/post/composite_read_io.rb
127
+ - lib/multipart/post/multipartable.rb
128
+ - lib/multipart/post/parts.rb
129
+ - lib/multipart/post/upload_io.rb
130
+ - lib/multipart/post/version.rb
82
131
  - lib/multipart_post.rb
83
132
  - lib/multipartable.rb
84
133
  - lib/net/http/post/multipart.rb
85
134
  - lib/parts.rb
86
- - multipart-post.gemspec
87
- - spec/composite_io_spec.rb
88
- - spec/multibyte.txt
89
- - spec/net/http/post/multipart_spec.rb
90
- - spec/parts_spec.rb
91
- - spec/spec_helper.rb
92
- homepage: https://github.com/nicksieger/multipart-post
135
+ homepage: https://github.com/socketry/multipart-post
93
136
  licenses:
94
137
  - MIT
95
138
  metadata: {}
96
- post_install_message:
139
+ post_install_message:
97
140
  rdoc_options: []
98
141
  require_paths:
99
142
  - lib
@@ -108,13 +151,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
151
  - !ruby/object:Gem::Version
109
152
  version: '0'
110
153
  requirements: []
111
- rubygems_version: 3.0.3
112
- signing_key:
154
+ rubygems_version: 3.3.7
155
+ signing_key:
113
156
  specification_version: 4
114
157
  summary: A multipart form post accessory for Net::HTTP.
115
- test_files:
116
- - spec/composite_io_spec.rb
117
- - spec/multibyte.txt
118
- - spec/net/http/post/multipart_spec.rb
119
- - spec/parts_spec.rb
120
- - spec/spec_helper.rb
158
+ test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ j�% ����O���/M��Ҝ��rm�6�Kiz� 䶨�R��:׸��\M�h�#9Kɠ��h2��;�^$sV5�L�Ǫ���/��=���ј64%���P_ �1)N���n��F���� �K���L7
2
+ k#��[�@��$$���~��U� xz_V�dX�>
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- doc
2
- pkg
3
- *~
4
- *.swo
5
- *.swp
6
- /Gemfile.lock
data/.rspec DELETED
@@ -1,5 +0,0 @@
1
- --color
2
- --format documentation
3
- --backtrace
4
- --require spec_helper
5
- --warnings
data/.travis.yml DELETED
@@ -1,20 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
-
4
- rvm:
5
- - 2.0
6
- - 2.1
7
- - 2.2
8
- - 2.3
9
- - 2.4
10
- - 2.5
11
- - 2.6
12
- - ruby-head
13
- - jruby-head
14
- - truffleruby
15
-
16
- matrix:
17
- allow_failures:
18
- - rvm: ruby-head
19
- - rvm: jruby-head
20
- - rvm: truffleruby
data/.yardopts DELETED
@@ -1,6 +0,0 @@
1
- --no-private
2
- lib/**/*.rb
3
- -
4
- History.txt
5
- LICENSE
6
- README.md
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
3
-
4
- group :development, :test do
5
- gem 'rake'
6
- end
data/History.txt DELETED
@@ -1,64 +0,0 @@
1
- <!--
2
- # @markup rdoc
3
- # @title CHANGELOG
4
- -->
5
-
6
- === 2.0.0 / 2013-12-21
7
-
8
- - Drop Ruby 1.8 compatibility
9
- - GH #21: Fix FilePart length calculation for Ruby 1.9 when filename contains
10
- multibyte characters (hexfet)
11
- - GH #20: Ensure upload responds to both #content_type and #original_filename
12
- (Steven Davidovitz)
13
- - GH #31: Support setting headers on any part of the request (Socrates Vicente)
14
- - GH #30: Support array values for params (Gustav Ernberg)
15
- - GH #32: Fix respond_to? signature (Leo Cassarani)
16
- - GH #33: Update README to markdown (Jagtesh Chadha)
17
- - GH #35: Improved handling of array-type parameters (Steffen Grunwald)
18
-
19
- === 1.2.0 / 2013-02-25
20
-
21
- - #25: Ruby 2 compatibility (thanks mislav)
22
-
23
- === 1.1.5 / 2012-02-12
24
-
25
- - Fix length/bytesize of parts in 1.9 (#7, #14) (Jason Moore)
26
- - Allow CompositeIO objects to be re-read by rewinding, like other IO
27
- objects. (Luke Redpath)
28
-
29
- === 1.1.4 / 2011-11-23
30
-
31
- - Non-functional changes in release (switch to Bundler gem tasks)
32
-
33
- === 1.1.3 / 2011-07-25
34
-
35
- - More configurable header specification for parts (Gerrit Riessen)
36
-
37
- === 1.1.2 / 2011-05-24
38
-
39
- - Fix CRLF file part miscalculation (Johannes Wagener)
40
- - Fix Epilogue CRLF issue (suggestion by Neil Spring)
41
-
42
- === 1.1.1 / 2011-05-13
43
-
44
- - GH# 9: Fixed Ruby 1.9.2 StringIO bug (thanks Alex Koppel)
45
-
46
- === 1.1.0 / 2011-01-11
47
-
48
- - API CHANGE: UploadIO.convert! removed in favor of UploadIO.new
49
- (Jeff Hodges)
50
-
51
- === 1.0.1 / 2010-04-27
52
-
53
- - Doc updates, make gemspec based on more modern Rubygems
54
-
55
- === 1.0 / 2009-02-12
56
-
57
- - Many fixes from mlooney, seems to work now. Putting the 0.9 seal of
58
- approval on it.
59
-
60
- === 0.1 / 2008-08-12
61
-
62
- * 1 major enhancement
63
-
64
- * Birthday!
data/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- Copyright (c) 2007-2013 Nick Sieger nick@nicksieger.com
2
- Copyright, 2017, by Samuel G. D. Williams.
3
-
4
- MIT license.
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy of
7
- this software and associated documentation files (the "Software"), to deal in
8
- the Software without restriction, including without limitation the rights to
9
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10
- the Software, and to permit persons to whom the Software is furnished to do so,
11
- subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest.txt DELETED
@@ -1,9 +0,0 @@
1
- lib/composite_io.rb
2
- lib/multipartable.rb
3
- lib/parts.rb
4
- lib/net/http/post/multipart.rb
5
- Manifest.txt
6
- Rakefile
7
- README.txt
8
- test/test_composite_io.rb
9
- test/net/http/post/test_multipart.rb
data/README.md DELETED
@@ -1,127 +0,0 @@
1
- # Multipart::Post
2
-
3
- Adds a streamy multipart form post capability to `Net::HTTP`. Also supports other
4
- methods besides `POST`.
5
-
6
- [![Build Status](https://secure.travis-ci.org/socketry/multipart-post.svg)](http://travis-ci.org/socketry/multipart-post)
7
-
8
- ## Features/Problems
9
-
10
- * Appears to actually work. A good feature to have.
11
- * Encapsulates posting of file/binary parts and name/value parameter parts, similar to
12
- most browsers' file upload forms.
13
- * Provides an `UploadIO` helper class to prepare IO objects for inclusion in the params
14
- hash of the multipart post object.
15
-
16
- ## Installation
17
-
18
- gem install multipart-post
19
-
20
- or in your Gemfile
21
-
22
- gem 'multipart-post'
23
-
24
- ## Usage
25
-
26
- ```ruby
27
- require 'net/http/post/multipart'
28
-
29
- url = URI.parse('http://www.example.com/upload')
30
- File.open("./image.jpg") do |jpg|
31
- req = Net::HTTP::Post::Multipart.new url.path,
32
- "file" => UploadIO.new(jpg, "image/jpeg", "image.jpg")
33
- res = Net::HTTP.start(url.host, url.port) do |http|
34
- http.request(req)
35
- end
36
- end
37
- ```
38
-
39
- To post multiple files or attachments, simply include multiple parameters with
40
- `UploadIO` values:
41
-
42
- ```ruby
43
- require 'net/http/post/multipart'
44
-
45
- url = URI.parse('http://www.example.com/upload')
46
- req = Net::HTTP::Post::Multipart.new url.path,
47
- "file1" => UploadIO.new(File.new("./image.jpg"), "image/jpeg", "image.jpg"),
48
- "file2" => UploadIO.new(File.new("./image2.jpg"), "image/jpeg", "image2.jpg")
49
- res = Net::HTTP.start(url.host, url.port) do |http|
50
- http.request(req)
51
- end
52
- ```
53
-
54
- To post files with other normal, non-file params such as input values, you need to pass hashes to the `Multipart.new` method.
55
-
56
- In Rails 4 for example:
57
-
58
- ```ruby
59
- def model_params
60
- require_params = params.require(:model).permit(:param_one, :param_two, :param_three, :avatar)
61
- require_params[:avatar] = model_params[:avatar].present? ? UploadIO.new(model_params[:avatar].tempfile, model_params[:avatar].content_type, model_params[:avatar].original_filename) : nil
62
- require_params
63
- end
64
-
65
- require 'net/http/post/multipart'
66
-
67
- url = URI.parse('http://www.example.com/upload')
68
- Net::HTTP.start(url.host, url.port) do |http|
69
- req = Net::HTTP::Post::Multipart.new(url, model_params)
70
- key = "authorization_key"
71
- req.add_field("Authorization", key) #add to Headers
72
- http.use_ssl = (url.scheme == "https")
73
- http.request(req)
74
- end
75
- ```
76
-
77
- Or in plain ruby:
78
-
79
- ```ruby
80
- def params(file)
81
- params = { "description" => "A nice picture!" }
82
- params[:datei] = UploadIO.new(file, "image/jpeg", "image.jpg")
83
- params
84
- end
85
-
86
- url = URI.parse('http://www.example.com/upload')
87
- File.open("./image.jpg") do |file|
88
- req = Net::HTTP::Post::Multipart.new(url.path, params(file))
89
- res = Net::HTTP.start(url.host, url.port) do |http|
90
- return http.request(req).body
91
- end
92
- end
93
- ```
94
-
95
- ### Debugging
96
-
97
- You can debug requests and responses (e.g. status codes) for all requests by adding the following code:
98
-
99
- ```ruby
100
- http = Net::HTTP.new(uri.host, uri.port)
101
- http.set_debug_output($stdout)
102
- ```
103
-
104
- ## License
105
-
106
- Released under the MIT license.
107
-
108
- Copyright (c) 2007-2013 Nick Sieger <nick@nicksieger.com>
109
- Copyright, 2017, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).
110
-
111
- Permission is hereby granted, free of charge, to any person obtaining a copy
112
- of this software and associated documentation files (the "Software"), to deal
113
- in the Software without restriction, including without limitation the rights
114
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
115
- copies of the Software, and to permit persons to whom the Software is
116
- furnished to do so, subject to the following conditions:
117
-
118
- The above copyright notice and this permission notice shall be included in
119
- all copies or substantial portions of the Software.
120
-
121
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
122
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
123
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
124
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
125
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
126
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
127
- THE SOFTWARE.
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:test)
5
-
6
- task :default => :test
@@ -1,23 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "multipart_post"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "multipart-post"
7
- spec.version = MultipartPost::VERSION
8
- spec.authors = ["Nick Sieger", "Samuel Williams"]
9
- spec.email = ["nick@nicksieger.com", "samuel.williams@oriontransfer.co.nz"]
10
- spec.homepage = "https://github.com/nicksieger/multipart-post"
11
- spec.summary = %q{A multipart form post accessory for Net::HTTP.}
12
- spec.license = "MIT"
13
- spec.description = %q{Use with Net::HTTP to do multipart form postspec. IO values that have #content_type, #original_filename, and #local_path will be posted as a binary file.}
14
-
15
- spec.files = `git ls-files`.split("\n")
16
- spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
- spec.require_paths = ["lib"]
19
-
20
- spec.add_development_dependency 'bundler', ['>= 1.3', '< 3']
21
- spec.add_development_dependency 'rspec', '~> 3.4'
22
- spec.add_development_dependency 'rake'
23
- end