httparty 0.13.7 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of httparty might be problematic. Click here for more details.

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