httparty 0.13.6 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +18 -0
  3. data/.github/workflows/ci.yml +26 -0
  4. data/.gitignore +3 -0
  5. data/.rubocop_todo.yml +1 -1
  6. data/{History → Changelog.md} +228 -58
  7. data/Gemfile +10 -3
  8. data/Guardfile +3 -2
  9. data/README.md +8 -7
  10. data/bin/httparty +3 -1
  11. data/docs/README.md +191 -0
  12. data/examples/README.md +34 -12
  13. data/examples/aaws.rb +7 -3
  14. data/examples/body_stream.rb +14 -0
  15. data/examples/crack.rb +1 -1
  16. data/examples/custom_parsers.rb +5 -1
  17. data/examples/delicious.rb +4 -4
  18. data/examples/headers_and_user_agents.rb +7 -3
  19. data/examples/idn.rb +10 -0
  20. data/examples/logging.rb +4 -4
  21. data/examples/microsoft_graph.rb +52 -0
  22. data/examples/multipart.rb +22 -0
  23. data/examples/peer_cert.rb +9 -0
  24. data/examples/stackexchange.rb +1 -1
  25. data/examples/stream_download.rb +26 -0
  26. data/examples/tripit_sign_in.rb +17 -6
  27. data/examples/twitter.rb +2 -2
  28. data/examples/whoismyrep.rb +1 -1
  29. data/httparty.gemspec +8 -6
  30. data/lib/httparty/connection_adapter.rb +86 -20
  31. data/lib/httparty/cookie_hash.rb +10 -8
  32. data/lib/httparty/decompressor.rb +102 -0
  33. data/lib/httparty/exceptions.rb +8 -2
  34. data/lib/httparty/hash_conversions.rb +30 -8
  35. data/lib/httparty/headers_processor.rb +32 -0
  36. data/lib/httparty/logger/apache_formatter.rb +31 -6
  37. data/lib/httparty/logger/curl_formatter.rb +68 -23
  38. data/lib/httparty/logger/logger.rb +5 -1
  39. data/lib/httparty/logger/logstash_formatter.rb +61 -0
  40. data/lib/httparty/module_inheritable_attributes.rb +6 -4
  41. data/lib/httparty/net_digest_auth.rb +23 -21
  42. data/lib/httparty/parser.rb +25 -14
  43. data/lib/httparty/request/body.rb +105 -0
  44. data/lib/httparty/request/multipart_boundary.rb +13 -0
  45. data/lib/httparty/request.rb +160 -106
  46. data/lib/httparty/response/headers.rb +23 -19
  47. data/lib/httparty/response.rb +92 -13
  48. data/lib/httparty/response_fragment.rb +21 -0
  49. data/lib/httparty/text_encoder.rb +72 -0
  50. data/lib/httparty/utils.rb +13 -0
  51. data/lib/httparty/version.rb +3 -1
  52. data/lib/httparty.rb +98 -35
  53. data/website/css/common.css +1 -1
  54. metadata +35 -115
  55. data/.simplecov +0 -1
  56. data/.travis.yml +0 -7
  57. data/features/basic_authentication.feature +0 -20
  58. data/features/command_line.feature +0 -95
  59. data/features/deals_with_http_error_codes.feature +0 -26
  60. data/features/digest_authentication.feature +0 -30
  61. data/features/handles_compressed_responses.feature +0 -27
  62. data/features/handles_multiple_formats.feature +0 -57
  63. data/features/steps/env.rb +0 -27
  64. data/features/steps/httparty_response_steps.rb +0 -52
  65. data/features/steps/httparty_steps.rb +0 -43
  66. data/features/steps/mongrel_helper.rb +0 -127
  67. data/features/steps/remote_service_steps.rb +0 -90
  68. data/features/supports_read_timeout_option.feature +0 -13
  69. data/features/supports_redirection.feature +0 -22
  70. data/features/supports_timeout_option.feature +0 -13
  71. data/spec/fixtures/delicious.xml +0 -23
  72. data/spec/fixtures/empty.xml +0 -0
  73. data/spec/fixtures/google.html +0 -3
  74. data/spec/fixtures/ssl/generate.sh +0 -29
  75. data/spec/fixtures/ssl/generated/1fe462c2.0 +0 -16
  76. data/spec/fixtures/ssl/generated/bogushost.crt +0 -13
  77. data/spec/fixtures/ssl/generated/ca.crt +0 -16
  78. data/spec/fixtures/ssl/generated/ca.key +0 -15
  79. data/spec/fixtures/ssl/generated/selfsigned.crt +0 -14
  80. data/spec/fixtures/ssl/generated/server.crt +0 -13
  81. data/spec/fixtures/ssl/generated/server.key +0 -15
  82. data/spec/fixtures/ssl/openssl-exts.cnf +0 -9
  83. data/spec/fixtures/twitter.csv +0 -2
  84. data/spec/fixtures/twitter.json +0 -1
  85. data/spec/fixtures/twitter.xml +0 -403
  86. data/spec/fixtures/undefined_method_add_node_for_nil.xml +0 -2
  87. data/spec/httparty/connection_adapter_spec.rb +0 -468
  88. data/spec/httparty/cookie_hash_spec.rb +0 -83
  89. data/spec/httparty/exception_spec.rb +0 -38
  90. data/spec/httparty/hash_conversions_spec.rb +0 -41
  91. data/spec/httparty/logger/apache_formatter_spec.rb +0 -41
  92. data/spec/httparty/logger/curl_formatter_spec.rb +0 -18
  93. data/spec/httparty/logger/logger_spec.rb +0 -38
  94. data/spec/httparty/net_digest_auth_spec.rb +0 -230
  95. data/spec/httparty/parser_spec.rb +0 -173
  96. data/spec/httparty/request_spec.rb +0 -1073
  97. data/spec/httparty/response_spec.rb +0 -241
  98. data/spec/httparty/ssl_spec.rb +0 -74
  99. data/spec/httparty_spec.rb +0 -850
  100. data/spec/spec_helper.rb +0 -59
  101. data/spec/support/ssl_test_helper.rb +0 -47
  102. data/spec/support/ssl_test_server.rb +0 -80
  103. data/spec/support/stub_response.rb +0 -49
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7ff4fbf77e1502f71829faa6032ec50bce93aae6
4
- data.tar.gz: bcd37d969fec45917adec0a7e6ac202308520601
2
+ SHA256:
3
+ metadata.gz: 9dccd9b1a1fa3f98ca96da312ccdf19371418815a556b1443acac322a8ae4e15
4
+ data.tar.gz: 61f75235d1dcf4e1e38cbab62869aeeff28de9d0dc27fad30c7ca11d6355cd0d
5
5
  SHA512:
6
- metadata.gz: 0edda1d12877f8dbec768ef37934ad0853c7383dfbb1d0f1051de314b469dfe9eed8da318ea5cea3112c39d2dbe7edec5b00785834bfdf77ba75877a2163002a
7
- data.tar.gz: a97e1c55e863564388944cb4acf5ae2a49942a4df79dc09834025e7346929e9bd5a40b1e29d3f3cbdff479a4318ce1f100203da3f90b6b29085c433f2898bb0d
6
+ metadata.gz: e47fce0ce8b6c4fe97ee0335b4f0544bc039755f12f0c2aac9f47e901739fd172390a3dc01f070d6799b1af335293b5d09a66514deb0810dfafc37f25d2f3c81
7
+ data.tar.gz: 9aa37800410a58a60ca751de44eed1026514b26c408a1f890b48a8f0049c814052a70a55343d3798c3d4d59ca9b157257c1fa83240200d283ba374a9b62db2ef
data/.editorconfig ADDED
@@ -0,0 +1,18 @@
1
+ ; This file is for unifying the coding style for different editors and IDEs.
2
+ ; More information at http://EditorConfig.org
3
+
4
+ root = true
5
+ [*]
6
+ end_of_line = lf
7
+ trim_trailing_whitespace = true
8
+
9
+ [**.rb]
10
+ indent_size = 2
11
+ indent_style = spaces
12
+ insert_final_newline = true
13
+
14
+ [**.xml]
15
+ trim_trailing_whitespace = false
16
+
17
+ [**.html]
18
+ trim_trailing_whitespace = false
@@ -0,0 +1,26 @@
1
+ name: CI
2
+ on: [push, pull_request]
3
+ jobs:
4
+ build:
5
+ runs-on: ubuntu-latest
6
+ strategy:
7
+ matrix:
8
+ ruby:
9
+ - 2.3
10
+ - 2.4
11
+ - 2.5
12
+ - 2.6
13
+ - 2.7
14
+ - '3.0' # Quoted, to avoid YAML float 3.0 interplated to "3"
15
+ - 3.1
16
+ - 3.2
17
+ steps:
18
+ - name: Check out repository code
19
+ uses: actions/checkout@v3
20
+ - name: Set up Ruby
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: ${{ matrix.ruby }}
24
+ bundler-cache: true # Run "bundle install", and cache the result automatically.
25
+ - name: Run Rake
26
+ run: bundle exec rake
data/.gitignore CHANGED
@@ -9,3 +9,6 @@ pkg/
9
9
  /.bundle
10
10
  .rvmrc
11
11
  coverage
12
+ *.gem
13
+ .idea
14
+ .tool-versions
data/.rubocop_todo.yml CHANGED
@@ -15,7 +15,7 @@ Lint/EndAlignment:
15
15
  Enabled: false
16
16
 
17
17
  # Offense count: 1
18
- Lint/HandleExceptions:
18
+ Lint/SuppressedException:
19
19
  Enabled: false
20
20
 
21
21
  # Offense count: 5
@@ -1,4 +1,174 @@
1
- == 0.13.6
1
+ ## 0.21.0
2
+
3
+ * [escape filename in the multipart/form-data Content-Disposition header](https://github.com/jnunemaker/httparty/commit/cdb45a678c43e44570b4e73f84b1abeb5ec22b8e)
4
+ * [Fix request marshaling](https://github.com/jnunemaker/httparty/pull/767)
5
+ * [Replace `mime-types` with `mini_mime`](https://github.com/jnunemaker/httparty/pull/769)
6
+
7
+ ## 0.20.0
8
+
9
+ Breaking changes
10
+
11
+ * Require Ruby >= 2.3.0
12
+
13
+ Fixes
14
+
15
+ * [`Marshal.dump` fails on response objects when request option `:logger` is set or `:parser` is a proc](https://github.com/jnunemaker/httparty/pull/714)
16
+ * [Switch `:pem` option to to `OpenSSL::PKey.read` to support other algorithms](https://github.com/jnunemaker/httparty/pull/720)
17
+
18
+ ## 0.19.1
19
+
20
+ * [Remove use of unary + method for creating non-frozen string to increase compatibility with older versions of ruby](https://github.com/jnunemaker/httparty/commit/4416141d37fd71bdba4f37589ec265f55aa446ce)
21
+
22
+ ## 0.19.0
23
+
24
+ * [Multipart/Form-Data: rewind files after read](https://github.com/jnunemaker/httparty/pull/709)
25
+ * [add frozen_string_literal pragma to all files](https://github.com/jnunemaker/httparty/pull/711)
26
+ * [Better handling of Accept-Encoding / Content-Encoding decompression (fixes #562)](https://github.com/jnunemaker/httparty/pull/729)
27
+
28
+ ## 0.18.1
29
+
30
+ * [Rename cop Lint/HandleExceptions to Lint/SuppressedException](https://github.com/jnunemaker/httparty/pull/699).
31
+ * [Encode keys in query params](https://github.com/jnunemaker/httparty/pull/698).
32
+ * [Fixed SSL doc example](https://github.com/jnunemaker/httparty/pull/692).
33
+ * [Add a build status badge](https://github.com/jnunemaker/httparty/pull/701).
34
+
35
+
36
+ ## 0.18.0
37
+
38
+ * [Support gzip/deflate transfer encoding when explicit headers are set](https://github.com/jnunemaker/httparty/pull/678).
39
+ * [Support edge case cookie format with a blank attribute](https://github.com/jnunemaker/httparty/pull/685).
40
+
41
+ ## 0.17.3
42
+
43
+ 0.17.2 is broken https://github.com/jnunemaker/httparty/issues/681
44
+
45
+ ## 0.17.2
46
+
47
+ * [Add Response#nil? deprecetion warning](https://github.com/jnunemaker/httparty/pull/680)
48
+
49
+ ## 0.17.1
50
+
51
+ * [Pass options to dynamic block headers](https://github.com/jnunemaker/httparty/pull/661)
52
+ * [Normalize urls with URI adapter to allow International Domain Names support](https://github.com/jnunemaker/httparty/pull/668)
53
+ * [Add max_retries support](https://github.com/jnunemaker/httparty/pull/660)
54
+ * [Minize gem size by removing test files](https://github.com/jnunemaker/httparty/pull/658)
55
+
56
+ ## 0.17.0
57
+
58
+ * [Fix encoding of streamed chunk](https://github.com/jnunemaker/httparty/pull/644)
59
+ * [Avoid modifying frozen strings](https://github.com/jnunemaker/httparty/pull/649)
60
+ * [Expose .connection on fragment block param](https://github.com/jnunemaker/httparty/pull/648)
61
+ * [Add support for `Net::HTTP#write_timeout` method (Ruby 2.6.0)](https://github.com/jnunemaker/httparty/pull/647)
62
+
63
+ ## 0.16.4
64
+ * [Add support for Ruby 2.6](https://github.com/jnunemaker/httparty/pull/636)
65
+ * [Fix a few multipart issues](https://github.com/jnunemaker/httparty/pull/626)
66
+ * [Improve a memory usage for https requests](https://github.com/jnunemaker/httparty/pull/625)
67
+ * [Add response code to streamed body](https://github.com/jnunemaker/httparty/pull/588)
68
+
69
+ ## 0.16.3
70
+ * [Add Logstash-compatible formatter](https://github.com/jnunemaker/httparty/pull/612)
71
+ * [Add support for headers specified with symbols](https://github.com/jnunemaker/httparty/pull/622)
72
+ * [Fix response object marshalling](https://github.com/jnunemaker/httparty/pull/618)
73
+ * [Add ability to send multipart, without passing file](https://github.com/jnunemaker/httparty/pull/615)
74
+ * [Fix detection of content_type for multipart payload](https://github.com/jnunemaker/httparty/pull/616)
75
+ * [Process dynamic headers before making actual request](https://github.com/jnunemaker/httparty/pull/606)
76
+ * [Fix multipart uploads with ActionDispatch::Http::UploadedFile TempFile by using original_filename](https://github.com/jnunemaker/httparty/pull/598)
77
+ * [Added support for lock and unlock http requests](https://github.com/jnunemaker/httparty/pull/596)
78
+
79
+ ## 0.16.2
80
+
81
+ * [Support ActionDispatch::Http::UploadedFile again](https://github.com/jnunemaker/httparty/pull/585)
82
+
83
+ ## 0.16.1
84
+
85
+ * [Parse content with application/hal+json content type as JSON](https://github.com/jnunemaker/httparty/pull/573)
86
+ * [Convert objects to string when concatenating in multipart stuff](https://github.com/jnunemaker/httparty/pull/575)
87
+ * [Fix multipart to set its header even when other headers are provided](https://github.com/jnunemaker/httparty/pull/576)
88
+
89
+ ## 0.16.0
90
+
91
+ * [Add multipart support](https://github.com/jnunemaker/httparty/pull/569)
92
+
93
+ ## 0.15.7
94
+
95
+ Fixed
96
+
97
+ * [Add Response#pretty_print | Restore documented behavior](https://github.com/jnunemaker/httparty/pull/570)
98
+ * [Add ability to parse response from JSONAPI ](https://github.com/jnunemaker/httparty/pull/553)
99
+
100
+ ## 0.15.6
101
+
102
+ Fixed
103
+
104
+ * [Encoding and content type stuff](https://github.com/jnunemaker/httparty/pull/543)
105
+
106
+ ## 0.15.5
107
+
108
+ Fixed
109
+
110
+ * [Use non-destructive gsub](https://github.com/jnunemaker/httparty/pull/540)
111
+
112
+ ## 0.15.4
113
+
114
+ Fixed
115
+
116
+ * Prevent gsub errors with different encodings.
117
+ * Prevent passing nil to encode_body.
118
+
119
+ ## 0.15.3
120
+
121
+ Fixed
122
+
123
+ * [Fix processing nil body for HEAD requests](https://github.com/jnunemaker/httparty/pull/530).
124
+ * Add missing require to headers.rb (33439a8).
125
+
126
+ ## 0.15.2
127
+
128
+ Fixed
129
+
130
+ * Remove symlink from specs. It was reportedly still getting bundled with gem.
131
+
132
+ ## 0.15.1
133
+
134
+ Fixed
135
+
136
+ * Stop including test files in gem. Fixes installation issues on windows due to symlink in spec dir.
137
+
138
+ ## 0.15.0
139
+
140
+ Breaking Changes
141
+
142
+ * require Ruby >= 2.0.0
143
+
144
+ Fixed
145
+
146
+ * [fix numerous bugs](https://github.com/jnunemaker/httparty/pull/513)
147
+ * [handle utf-8 bom for json parsing](https://github.com/jnunemaker/httparty/pull/520)
148
+ * [do not overwrite default headers unless specified](https://github.com/jnunemaker/httparty/pull/518)
149
+
150
+ ## 0.14.0
151
+
152
+ Breaking Changes
153
+
154
+ * None
155
+
156
+ Added
157
+
158
+ * [added status predicate methods to Response#respond_to?](https://github.com/jnunemaker/httparty/pull/482)
159
+ * [support for MKCOL method](https://github.com/jnunemaker/httparty/pull/465)
160
+ * one fewer dependency: [remove json gem from gemspec](https://github.com/jnunemaker/httparty/pull/464)
161
+ * [optional raising exception on certain status codes](https://github.com/jnunemaker/httparty/pull/455)
162
+
163
+ Fixed
164
+
165
+ * [allow empty array to be used as param](https://github.com/jnunemaker/httparty/pull/477)
166
+ * [stop mutating cookie hash](https://github.com/jnunemaker/httparty/pull/460)
167
+
168
+ ## 0.13.7 aka "party not as hard"
169
+ * remove post install emoji as it caused installation issues for some people
170
+
171
+ ## 0.13.6
2
172
  * avoid calling String#strip on invalid Strings
3
173
  * preserve request method on 307 and 308 redirects
4
174
  * output version with --version for command line bin
@@ -6,25 +176,25 @@
6
176
  * add support for RFC2617 MD5-sess algorithm type
7
177
  * add party popper emoji to post install message
8
178
 
9
- == 0.13.5
179
+ ## 0.13.5
10
180
  * allow setting a custom URI adapter
11
181
 
12
- == 0.13.4
182
+ ## 0.13.4
13
183
  * correct redirect url for redirect paths without leading slash
14
184
  * remove core_extensions.rb as backwards compat for ruby 1.8 not needed
15
185
  * replace URI.encode with ERB::Util.url_encode
16
186
  * allow the response to be tapped
17
187
 
18
- == 0.13.3
188
+ ## 0.13.3
19
189
  * minor improvement
20
190
  * added option to allow for streaming large files without loading them into memory (672cdae)
21
191
 
22
- == 0.13.2
192
+ ## 0.13.2
23
193
  * minor improvement
24
194
  * [Set correct path on redirect to filename](https://github.com/jnunemaker/httparty/pull/337)
25
195
  * ensure logger works with curl format
26
196
 
27
- == 0.13.1 2014-04-08
197
+ ## 0.13.1 2014-04-08
28
198
  * new
29
199
  * [Added ability to specify a body_stream in HttpRequest](https://github.com/jnunemaker/httparty/pull/275)
30
200
  * [Added read_timeout and open_timeout options](https://github.com/jnunemaker/httparty/pull/278)
@@ -33,7 +203,7 @@
33
203
  * minor improvement
34
204
  * [Add stackexchange API example](https://github.com/jnunemaker/httparty/pull/280)
35
205
 
36
- == 0.13.0 2014-02-14
206
+ ## 0.13.0 2014-02-14
37
207
  * new
38
208
  * [Add CSV support](https://github.com/jnunemaker/httparty/pull/269)
39
209
  * [Allows PKCS12 client certificates](https://github.com/jnunemaker/httparty/pull/246)
@@ -48,7 +218,7 @@
48
218
  * minor improvement
49
219
  * [Add HTTParty::Error base class](https://github.com/jnunemaker/httparty/pull/260)
50
220
 
51
- == 0.12.0 2013-10-10
221
+ ## 0.12.0 2013-10-10
52
222
  * new
53
223
  * [Added initial logging support](https://github.com/jnunemaker/httparty/pull/243)
54
224
  * [Add support for local host and port binding](https://github.com/jnunemaker/httparty/pull/238)
@@ -68,7 +238,7 @@
68
238
  * [Improve documentation of ssl_ca_file, ssl_ca_path](https://github.com/jnunemaker/httparty/pull/223)
69
239
  * [Fix example URLs](https://github.com/jnunemaker/httparty/pull/232)
70
240
 
71
- == 0.11.0 2013-04-10
241
+ ## 0.11.0 2013-04-10
72
242
  * new
73
243
  * [Add COPY http request handling](https://github.com/jnunemaker/httparty/pull/190)
74
244
  * [Ruby 2.0 tests](https://github.com/jnunemaker/httparty/pull/194)
@@ -80,20 +250,20 @@
80
250
  * change
81
251
  * [Client-side-only cookie attributes are removed: case-insensitive](https://github.com/jnunemaker/httparty/pull/188)
82
252
 
83
- == 0.10.2 2013-01-26
253
+ ## 0.10.2 2013-01-26
84
254
  * bug fix
85
255
  * [hash_conversions misnamed variable](https://github.com/jnunemaker/httparty/pull/187)
86
256
 
87
- == 0.10.1 2013-01-26
257
+ ## 0.10.1 2013-01-26
88
258
  * new
89
259
  * [Added support for MOVE requests](https://github.com/jnunemaker/httparty/pull/183)
90
260
  * [Bump multi xml version](https://github.com/jnunemaker/httparty/pull/181)
91
261
 
92
- == 0.10.0 2013-01-10
262
+ ## 0.10.0 2013-01-10
93
263
  * changes
94
264
  * removed yaml support because of security risk (see rails yaml issues)
95
265
 
96
- == 0.9.0 2012-09-07
266
+ ## 0.9.0 2012-09-07
97
267
  * new
98
268
  * [support for connection adapters](https://github.com/jnunemaker/httparty/pull/157)
99
269
  * [allow ssl_version on ruby 1.9](https://github.com/jnunemaker/httparty/pull/159)
@@ -102,14 +272,14 @@
102
272
  * [deep clone default options](https://github.com/jnunemaker/httparty/commit/f74227d30f9389b4b23a888c9af49fb9b8248e1f)
103
273
  * a few net digest auth fixes
104
274
 
105
- == 0.8.3 2012-04-21
275
+ ## 0.8.3 2012-04-21
106
276
  * new
107
277
  * [lazy parsing of responses](https://github.com/jnunemaker/httparty/commit/9fd5259c8dab00e426082b66af44ede2c9068f45)
108
278
  * [add support for PATCH requests](https://github.com/jnunemaker/httparty/commit/7ab6641e37a9e31517e46f6124f38c615395d38a)
109
279
  * bug fixes
110
280
  * [subclasses no longer override superclass options](https://github.com/jnunemaker/httparty/commit/682af8fbf672e7b3009e650da776c85cdfe78d39)
111
281
 
112
- == 0.8.2 2012-04-12
282
+ ## 0.8.2 2012-04-12
113
283
  * new
114
284
  * add -r to make CLI return failure code if status >= 400
115
285
  * allow blank username from CLI
@@ -122,47 +292,47 @@
122
292
  * require rexml/document if xml format from CLI
123
293
  * support for fragmented responses
124
294
 
125
- == 0.8.1 2011-10-05
295
+ ## 0.8.1 2011-10-05
126
296
  * bug fixes
127
297
  * content-encoding header should be removed when automatically inflating the body
128
298
 
129
- == 0.8.0 2011-09-13
299
+ ## 0.8.0 2011-09-13
130
300
  * new
131
301
  * switch to multi json/xml for parsing by default
132
302
  * bug fixes
133
303
  * fix redirects to relative uri's
134
304
 
135
- == 0.7.8 2011-06-06
305
+ ## 0.7.8 2011-06-06
136
306
  * bug fix
137
307
  * Make response honor respond to
138
308
  * net http timeout can also be a float
139
309
 
140
- == 0.7.7 2011-04-16
310
+ ## 0.7.7 2011-04-16
141
311
  * bug fix
142
312
  * Fix NoMethodError when using the NON_RAILS_QUERY_STRING_NORMALIZER with a hash whose key is a symbol and value is nil
143
313
 
144
- == 0.7.5 2011-04-16
314
+ ## 0.7.5 2011-04-16
145
315
  * bug fix
146
316
  * caused issue with latest rubygems
147
317
 
148
- == 0.7.4 2011-02-13
318
+ ## 0.7.4 2011-02-13
149
319
  * bug fixes
150
320
  * Set VERIFY_NONE when using https. Ruby 1.9.2 no longer sets this for us. gh-67
151
321
 
152
- == 0.7.3 2011-01-20
322
+ ## 0.7.3 2011-01-20
153
323
  * bug fixes
154
324
  * Fix digest auth for unspecified quality of protection (bjoernalbers, mtrudel, dwo)
155
325
 
156
- == 0.7.2 2011-01-20
326
+ ## 0.7.2 2011-01-20
157
327
  * bug fixes
158
328
  * Fix gem dependencies
159
329
 
160
- == 0.7.1 2011-01-19
330
+ ## 0.7.1 2011-01-19
161
331
  * bug fixes
162
332
  * Fix uninitialized constant HTTParty::Response::Net in 1.9.2 (cap10morgan)
163
333
  * Other fixes for 1.9.2, full suite still fails (cap10morgan)
164
334
 
165
- == 0.7.0 2011-01-18
335
+ ## 0.7.0 2011-01-18
166
336
  * minor enhancements
167
337
  * Added query methods for HTTP status codes, i.e. response.success?
168
338
  response.created? (thanks citizenparker)
@@ -178,7 +348,7 @@
178
348
  * Fixed superclass mismatch exception while running tests
179
349
  (thanks dlitz http://github.com/dlitz/httparty/commit/48224f0615b32133afcff4718ad426df7a4b401b)
180
350
 
181
- == 0.6.1 2010-07-07
351
+ ## 0.6.1 2010-07-07
182
352
  * minor enhancements
183
353
  * updated to crack 0.1.8
184
354
  * bug fixes
@@ -186,7 +356,7 @@
186
356
  default_cookies (l4rk).
187
357
  * subclasses play nicely with grand parents. gh-49
188
358
 
189
- == 0.6.0 2010-06-13
359
+ ## 0.6.0 2010-06-13
190
360
  * major enhancements
191
361
  * Digest Auth (bartiaco, sbecker, gilles, and aaronrussell)
192
362
  * Maintain HTTP method across redirects (bartiaco and sbecker)
@@ -204,11 +374,11 @@
204
374
  * Closed #40 "Gzip response" wherein gziped and deflated responses are
205
375
  automatically inflated. (carsonmcdonald)
206
376
 
207
- == 0.5.2 2010-01-31
377
+ ## 0.5.2 2010-01-31
208
378
  * minor enhancements
209
379
  * Update crack requirement to version 0.1.6
210
380
 
211
- == 0.5.1 2010-01-30
381
+ ## 0.5.1 2010-01-30
212
382
  * bug fixes
213
383
  * Handle 304 response correctly by returning the HTTParty::Response object instead of redirecting (seth and hellvinz)
214
384
  * Only redirect 300 responses if the header contains a Location
@@ -225,7 +395,7 @@
225
395
  * HTTParty::VERSION now available
226
396
  * Update crack requirement to version 0.1.5
227
397
 
228
- == 0.5.0 2009-12-07
398
+ ## 0.5.0 2009-12-07
229
399
  * bug fixes
230
400
  * inheritable attributes no longer mutable by subclasses (yyyc514)
231
401
  * namespace BasicObject within HTTParty to avoid class name collisions (eric)
@@ -243,7 +413,7 @@
243
413
  * Support HEAD and OPTION verbs (grempe)
244
414
  * Verify SSL certificates when providing a PEM file (collectiveidea/danielmorrison)
245
415
 
246
- == 0.4.5 2009-09-12
416
+ ## 0.4.5 2009-09-12
247
417
  * bug fixes
248
418
  * Fixed class-level headers overwritten by cookie management code. Closes #19
249
419
  * Fixed "superclass mismatch for class BlankSlate" error. Closes #20
@@ -254,55 +424,55 @@
254
424
  HTTParty.get "http://github.com", timeout: 1
255
425
  * Building gem with Jeweler
256
426
 
257
- == 0.4.4 2009-07-19
427
+ ## 0.4.4 2009-07-19
258
428
  * 2 minor update
259
429
  * :query no longer sets form data. Use body and set content type to application/x-www-form-urlencoded if you need it. :query was wrong for that.
260
430
  * Fixed a bug in the cookies class method that caused cookies to be forgotten after the first request.
261
431
  * Also, some general cleanup of tests and such.
262
432
 
263
- == 0.4.3 2009-04-23
433
+ ## 0.4.3 2009-04-23
264
434
  * 1 minor update
265
435
  * added message to the response object
266
436
 
267
- == 0.4.2 2009-03-30
437
+ ## 0.4.2 2009-03-30
268
438
  * 2 minor changes
269
439
  * response code now returns an integer instead of a string (jqr)
270
440
  * rubyforge project setup for crack so i'm now depending on that instead of jnunemaker-crack
271
441
 
272
- == 0.4.1 2009-03-29
442
+ ## 0.4.1 2009-03-29
273
443
  * 1 minor fix
274
444
  * gem 'jnunemaker-crack' instead of gem 'crack'
275
445
 
276
- == 0.4.0 2009-03-29
446
+ ## 0.4.0 2009-03-29
277
447
  * 1 minor change
278
448
  * Switched xml and json parsing to crack (same code as before just moved to gem for easier reuse in other projects)
279
449
 
280
- == 0.3.1 2009-02-10
450
+ ## 0.3.1 2009-02-10
281
451
  * 1 minor fix, 1 minor enhancement
282
452
  * Fixed unescaping umlauts (siebertm)
283
453
  * Added yaml response parsing (Miha Filej)
284
454
 
285
- == 0.3.0 2009-01-31
455
+ ## 0.3.0 2009-01-31
286
456
  * 1 major enhancement, 1 bug fix
287
457
  * JSON gem no longer a requirement. It was conflicting with rails json stuff so I just stole ActiveSupport's json decoding and bundled it with HTTParty.
288
458
  * Fixed bug where query strings were being duplicated on redirects
289
459
  * Added a bunch of specs and moved some code around.
290
460
 
291
- == 0.2.10 2009-01-29
461
+ ## 0.2.10 2009-01-29
292
462
  * 1 minor enhancement
293
463
  * Made encoding on query parameters treat everything except URI::PATTERN::UNRESERVED as UNSAFE to force encoding of '+' character (Julian Russell)
294
464
 
295
- == 0.2.9 2009-01-29
465
+ ## 0.2.9 2009-01-29
296
466
  * 3 minor enhancements
297
467
  * Added a 'headers' accessor to the response with a hash of any HTTP headers. (Don Peterson)
298
468
  * Add support for a ":cookies" option to be used at the class level, or as an option on any individual call. It should be passed a hash, which will be converted to the proper format and added to the request headers when the call is made. (Don Peterson)
299
469
  * Refactored several specs and added a full suite of cucumber features (Don Peterson)
300
470
 
301
- == 0.2.8 2009-01-28
471
+ ## 0.2.8 2009-01-28
302
472
  * 1 major fix
303
473
  * fixed major bug with response where it wouldn't iterate or really work at all with parsed responses
304
474
 
305
- == 0.2.7 2009-01-28
475
+ ## 0.2.7 2009-01-28
306
476
  * 2 minor fixes, 2 minor enhancements, 2 major enhancements
307
477
  * fixed undefined method add_node for nil class error that occasionally happened (juliocesar)
308
478
  * Handle nil or unexpected values better when typecasting. (Brian Landau)
@@ -311,77 +481,77 @@
311
481
  * Added first class response object that includes original body and status code (Alex Vollmer)
312
482
  * Now parsing all response types as some non-200 responses provide important information, this means no more exception raising (Alex Vollmer)
313
483
 
314
- == 0.2.6 2009-01-05
484
+ ## 0.2.6 2009-01-05
315
485
  * 1 minor bug fix
316
486
  * added explicit require of time as Time#parse failed outside of rails (willcodeforfoo)
317
487
 
318
- == 0.2.5 2009-01-05
488
+ ## 0.2.5 2009-01-05
319
489
  * 1 major enhancement
320
490
  * Add command line interface to HTTParty (Alex Vollmer)
321
491
 
322
- == 0.2.4 2008-12-23
492
+ ## 0.2.4 2008-12-23
323
493
  * 1 bug fix
324
494
  * Fixed that mimetype detection was failing if no mimetype was returned from service (skippy)
325
- == 0.2.3 2008-12-23
495
+ ## 0.2.3 2008-12-23
326
496
  * 1 bug fix
327
497
  * Fixed typecasting class variable naming issue
328
498
 
329
- == 0.2.2 2008-12-08
499
+ ## 0.2.2 2008-12-08
330
500
  * 1 bug fix
331
501
  * Added the missing core extension hash method to_xml_attributes
332
502
 
333
- == 0.2.1 2008-12-08
503
+ ## 0.2.1 2008-12-08
334
504
  * 1 bug fix
335
505
  * Fixed that HTTParty was borking ActiveSupport and as such Rails (thanks to Rob Sanheim)
336
506
 
337
- == 0.2.0 2008-12-07
507
+ ## 0.2.0 2008-12-07
338
508
  * 1 major enhancement
339
509
  * Removed ActiveSupport as a dependency. Now requires json gem for json deserialization and uses an included class to do the xml parsing.
340
510
 
341
- == 0.1.8 2008-11-30
511
+ ## 0.1.8 2008-11-30
342
512
  * 3 major enhancements
343
513
  * Moved base_uri normalization into request class and out of httparty module, fixing
344
514
  the problem where base_uri was not always being normalized.
345
515
  * Stupid simple support for HTTParty.get/post/put/delete. (jqr)
346
516
  * Switched gem management to Echoe from newgem.
347
517
 
348
- == 0.1.7 2008-11-30
518
+ ## 0.1.7 2008-11-30
349
519
  * 1 major enhancement
350
520
  * fixed multiple class definitions overriding each others options
351
521
 
352
- == 0.1.6 2008-11-26
522
+ ## 0.1.6 2008-11-26
353
523
  * 1 major enhancement
354
524
  * now passing :query to set_form_data if post request to avoid content length errors
355
525
 
356
- == 0.1.5 2008-11-14
526
+ ## 0.1.5 2008-11-14
357
527
  * 2 major enhancements
358
528
  * Refactored send request method out into its own object.
359
529
  * Added :html format if you just want to do that.
360
530
 
361
- == 0.1.4 2008-11-08
531
+ ## 0.1.4 2008-11-08
362
532
  * 3 major enhancements:
363
533
  * Removed some cruft
364
534
  * Added ability to follow redirects automatically and turn that off (Alex Vollmer)
365
535
 
366
- == 0.1.3 2008-08-22
536
+ ## 0.1.3 2008-08-22
367
537
 
368
538
  * 3 major enhancements:
369
539
  * Added http_proxy key for setting proxy server and port (francxk@gmail.com)
370
540
  * Now raises exception when http error occurs (francxk@gmail.com)
371
541
  * Changed auto format detection from file extension to response content type (Jay Pignata)
372
542
 
373
- == 0.1.2 2008-08-09
543
+ ## 0.1.2 2008-08-09
374
544
 
375
545
  * 1 major enhancement:
376
546
  * default_params were not being appended to query string if option[:query] was blank
377
547
 
378
- == 0.1.1 2008-07-30
548
+ ## 0.1.1 2008-07-30
379
549
 
380
550
  * 2 major enhancement:
381
551
  * Added :basic_auth key for options when making a request
382
552
  * :query and :body both now work with query string or hash
383
553
 
384
- == 0.1.0 2008-07-27
554
+ ## 0.1.0 2008-07-27
385
555
 
386
556
  * 1 major enhancement:
387
557
  * Initial release
data/Gemfile CHANGED
@@ -2,8 +2,8 @@ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
4
  gem 'rake'
5
- gem 'fakeweb', '~> 1.3'
6
5
  gem 'mongrel', '1.2.0.pre2'
6
+ gem 'json'
7
7
 
8
8
  group :development do
9
9
  gem 'guard'
@@ -12,8 +12,15 @@ group :development do
12
12
  end
13
13
 
14
14
  group :test do
15
- gem 'rspec', '~> 3.1'
15
+ gem 'rexml'
16
+ gem 'rspec', '~> 3.4'
16
17
  gem 'simplecov', require: false
17
18
  gem 'aruba'
18
- gem 'cucumber', '~> 1.3.17'
19
+ gem 'cucumber', '~> 2.3'
20
+ gem 'webmock'
21
+ gem 'addressable'
22
+ end
23
+
24
+ group :development, :test do
25
+ gem 'pry'
19
26
  end
data/Guardfile CHANGED
@@ -1,7 +1,8 @@
1
1
  rspec_options = {
2
- version: 1,
3
2
  all_after_pass: false,
4
- all_on_start: false
3
+ all_on_start: false,
4
+ failed_mode: :keep,
5
+ cmd: 'bundle exec rspec',
5
6
  }
6
7
 
7
8
  guard 'rspec', rspec_options do