httparty 0.13.7 → 0.21.0

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.
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} +226 -59
  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 +7 -5
  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 +34 -114
  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: 1e38f46dd22e2a48a187998d68305ae356a1a9c8
4
- data.tar.gz: 257d70e92f1a15ee99c017c30f05b93b95b2410a
2
+ SHA256:
3
+ metadata.gz: 9dccd9b1a1fa3f98ca96da312ccdf19371418815a556b1443acac322a8ae4e15
4
+ data.tar.gz: 61f75235d1dcf4e1e38cbab62869aeeff28de9d0dc27fad30c7ca11d6355cd0d
5
5
  SHA512:
6
- metadata.gz: 106f0de2d1a32408da7442ccedc324dda618fa233e4e29389b632f3be6b0c39ab36280b9fe33247a7878fc8a8a6323eee8ed6566ff5ea24ea341e04ffc0d5da1
7
- data.tar.gz: f4f2e8725cf55e63480e54b84e6f4c386815debd6033dd396c4a12217cddc7f8154c22ccde4999a9b048f4b0e53192e4a5f975793a57114270afb8d867ce985c
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,7 +1,174 @@
1
- == 0.13.7 aka "party not as hard"
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"
2
169
  * remove post install emoji as it caused installation issues for some people
3
170
 
4
- == 0.13.6
171
+ ## 0.13.6
5
172
  * avoid calling String#strip on invalid Strings
6
173
  * preserve request method on 307 and 308 redirects
7
174
  * output version with --version for command line bin
@@ -9,25 +176,25 @@
9
176
  * add support for RFC2617 MD5-sess algorithm type
10
177
  * add party popper emoji to post install message
11
178
 
12
- == 0.13.5
179
+ ## 0.13.5
13
180
  * allow setting a custom URI adapter
14
181
 
15
- == 0.13.4
182
+ ## 0.13.4
16
183
  * correct redirect url for redirect paths without leading slash
17
184
  * remove core_extensions.rb as backwards compat for ruby 1.8 not needed
18
185
  * replace URI.encode with ERB::Util.url_encode
19
186
  * allow the response to be tapped
20
187
 
21
- == 0.13.3
188
+ ## 0.13.3
22
189
  * minor improvement
23
190
  * added option to allow for streaming large files without loading them into memory (672cdae)
24
191
 
25
- == 0.13.2
192
+ ## 0.13.2
26
193
  * minor improvement
27
194
  * [Set correct path on redirect to filename](https://github.com/jnunemaker/httparty/pull/337)
28
195
  * ensure logger works with curl format
29
196
 
30
- == 0.13.1 2014-04-08
197
+ ## 0.13.1 2014-04-08
31
198
  * new
32
199
  * [Added ability to specify a body_stream in HttpRequest](https://github.com/jnunemaker/httparty/pull/275)
33
200
  * [Added read_timeout and open_timeout options](https://github.com/jnunemaker/httparty/pull/278)
@@ -36,7 +203,7 @@
36
203
  * minor improvement
37
204
  * [Add stackexchange API example](https://github.com/jnunemaker/httparty/pull/280)
38
205
 
39
- == 0.13.0 2014-02-14
206
+ ## 0.13.0 2014-02-14
40
207
  * new
41
208
  * [Add CSV support](https://github.com/jnunemaker/httparty/pull/269)
42
209
  * [Allows PKCS12 client certificates](https://github.com/jnunemaker/httparty/pull/246)
@@ -51,7 +218,7 @@
51
218
  * minor improvement
52
219
  * [Add HTTParty::Error base class](https://github.com/jnunemaker/httparty/pull/260)
53
220
 
54
- == 0.12.0 2013-10-10
221
+ ## 0.12.0 2013-10-10
55
222
  * new
56
223
  * [Added initial logging support](https://github.com/jnunemaker/httparty/pull/243)
57
224
  * [Add support for local host and port binding](https://github.com/jnunemaker/httparty/pull/238)
@@ -71,7 +238,7 @@
71
238
  * [Improve documentation of ssl_ca_file, ssl_ca_path](https://github.com/jnunemaker/httparty/pull/223)
72
239
  * [Fix example URLs](https://github.com/jnunemaker/httparty/pull/232)
73
240
 
74
- == 0.11.0 2013-04-10
241
+ ## 0.11.0 2013-04-10
75
242
  * new
76
243
  * [Add COPY http request handling](https://github.com/jnunemaker/httparty/pull/190)
77
244
  * [Ruby 2.0 tests](https://github.com/jnunemaker/httparty/pull/194)
@@ -83,20 +250,20 @@
83
250
  * change
84
251
  * [Client-side-only cookie attributes are removed: case-insensitive](https://github.com/jnunemaker/httparty/pull/188)
85
252
 
86
- == 0.10.2 2013-01-26
253
+ ## 0.10.2 2013-01-26
87
254
  * bug fix
88
255
  * [hash_conversions misnamed variable](https://github.com/jnunemaker/httparty/pull/187)
89
256
 
90
- == 0.10.1 2013-01-26
257
+ ## 0.10.1 2013-01-26
91
258
  * new
92
259
  * [Added support for MOVE requests](https://github.com/jnunemaker/httparty/pull/183)
93
260
  * [Bump multi xml version](https://github.com/jnunemaker/httparty/pull/181)
94
261
 
95
- == 0.10.0 2013-01-10
262
+ ## 0.10.0 2013-01-10
96
263
  * changes
97
264
  * removed yaml support because of security risk (see rails yaml issues)
98
265
 
99
- == 0.9.0 2012-09-07
266
+ ## 0.9.0 2012-09-07
100
267
  * new
101
268
  * [support for connection adapters](https://github.com/jnunemaker/httparty/pull/157)
102
269
  * [allow ssl_version on ruby 1.9](https://github.com/jnunemaker/httparty/pull/159)
@@ -105,14 +272,14 @@
105
272
  * [deep clone default options](https://github.com/jnunemaker/httparty/commit/f74227d30f9389b4b23a888c9af49fb9b8248e1f)
106
273
  * a few net digest auth fixes
107
274
 
108
- == 0.8.3 2012-04-21
275
+ ## 0.8.3 2012-04-21
109
276
  * new
110
277
  * [lazy parsing of responses](https://github.com/jnunemaker/httparty/commit/9fd5259c8dab00e426082b66af44ede2c9068f45)
111
278
  * [add support for PATCH requests](https://github.com/jnunemaker/httparty/commit/7ab6641e37a9e31517e46f6124f38c615395d38a)
112
279
  * bug fixes
113
280
  * [subclasses no longer override superclass options](https://github.com/jnunemaker/httparty/commit/682af8fbf672e7b3009e650da776c85cdfe78d39)
114
281
 
115
- == 0.8.2 2012-04-12
282
+ ## 0.8.2 2012-04-12
116
283
  * new
117
284
  * add -r to make CLI return failure code if status >= 400
118
285
  * allow blank username from CLI
@@ -125,47 +292,47 @@
125
292
  * require rexml/document if xml format from CLI
126
293
  * support for fragmented responses
127
294
 
128
- == 0.8.1 2011-10-05
295
+ ## 0.8.1 2011-10-05
129
296
  * bug fixes
130
297
  * content-encoding header should be removed when automatically inflating the body
131
298
 
132
- == 0.8.0 2011-09-13
299
+ ## 0.8.0 2011-09-13
133
300
  * new
134
301
  * switch to multi json/xml for parsing by default
135
302
  * bug fixes
136
303
  * fix redirects to relative uri's
137
304
 
138
- == 0.7.8 2011-06-06
305
+ ## 0.7.8 2011-06-06
139
306
  * bug fix
140
307
  * Make response honor respond to
141
308
  * net http timeout can also be a float
142
309
 
143
- == 0.7.7 2011-04-16
310
+ ## 0.7.7 2011-04-16
144
311
  * bug fix
145
312
  * Fix NoMethodError when using the NON_RAILS_QUERY_STRING_NORMALIZER with a hash whose key is a symbol and value is nil
146
313
 
147
- == 0.7.5 2011-04-16
314
+ ## 0.7.5 2011-04-16
148
315
  * bug fix
149
316
  * caused issue with latest rubygems
150
317
 
151
- == 0.7.4 2011-02-13
318
+ ## 0.7.4 2011-02-13
152
319
  * bug fixes
153
320
  * Set VERIFY_NONE when using https. Ruby 1.9.2 no longer sets this for us. gh-67
154
321
 
155
- == 0.7.3 2011-01-20
322
+ ## 0.7.3 2011-01-20
156
323
  * bug fixes
157
324
  * Fix digest auth for unspecified quality of protection (bjoernalbers, mtrudel, dwo)
158
325
 
159
- == 0.7.2 2011-01-20
326
+ ## 0.7.2 2011-01-20
160
327
  * bug fixes
161
328
  * Fix gem dependencies
162
329
 
163
- == 0.7.1 2011-01-19
330
+ ## 0.7.1 2011-01-19
164
331
  * bug fixes
165
332
  * Fix uninitialized constant HTTParty::Response::Net in 1.9.2 (cap10morgan)
166
333
  * Other fixes for 1.9.2, full suite still fails (cap10morgan)
167
334
 
168
- == 0.7.0 2011-01-18
335
+ ## 0.7.0 2011-01-18
169
336
  * minor enhancements
170
337
  * Added query methods for HTTP status codes, i.e. response.success?
171
338
  response.created? (thanks citizenparker)
@@ -181,7 +348,7 @@
181
348
  * Fixed superclass mismatch exception while running tests
182
349
  (thanks dlitz http://github.com/dlitz/httparty/commit/48224f0615b32133afcff4718ad426df7a4b401b)
183
350
 
184
- == 0.6.1 2010-07-07
351
+ ## 0.6.1 2010-07-07
185
352
  * minor enhancements
186
353
  * updated to crack 0.1.8
187
354
  * bug fixes
@@ -189,7 +356,7 @@
189
356
  default_cookies (l4rk).
190
357
  * subclasses play nicely with grand parents. gh-49
191
358
 
192
- == 0.6.0 2010-06-13
359
+ ## 0.6.0 2010-06-13
193
360
  * major enhancements
194
361
  * Digest Auth (bartiaco, sbecker, gilles, and aaronrussell)
195
362
  * Maintain HTTP method across redirects (bartiaco and sbecker)
@@ -207,11 +374,11 @@
207
374
  * Closed #40 "Gzip response" wherein gziped and deflated responses are
208
375
  automatically inflated. (carsonmcdonald)
209
376
 
210
- == 0.5.2 2010-01-31
377
+ ## 0.5.2 2010-01-31
211
378
  * minor enhancements
212
379
  * Update crack requirement to version 0.1.6
213
380
 
214
- == 0.5.1 2010-01-30
381
+ ## 0.5.1 2010-01-30
215
382
  * bug fixes
216
383
  * Handle 304 response correctly by returning the HTTParty::Response object instead of redirecting (seth and hellvinz)
217
384
  * Only redirect 300 responses if the header contains a Location
@@ -228,7 +395,7 @@
228
395
  * HTTParty::VERSION now available
229
396
  * Update crack requirement to version 0.1.5
230
397
 
231
- == 0.5.0 2009-12-07
398
+ ## 0.5.0 2009-12-07
232
399
  * bug fixes
233
400
  * inheritable attributes no longer mutable by subclasses (yyyc514)
234
401
  * namespace BasicObject within HTTParty to avoid class name collisions (eric)
@@ -246,7 +413,7 @@
246
413
  * Support HEAD and OPTION verbs (grempe)
247
414
  * Verify SSL certificates when providing a PEM file (collectiveidea/danielmorrison)
248
415
 
249
- == 0.4.5 2009-09-12
416
+ ## 0.4.5 2009-09-12
250
417
  * bug fixes
251
418
  * Fixed class-level headers overwritten by cookie management code. Closes #19
252
419
  * Fixed "superclass mismatch for class BlankSlate" error. Closes #20
@@ -257,55 +424,55 @@
257
424
  HTTParty.get "http://github.com", timeout: 1
258
425
  * Building gem with Jeweler
259
426
 
260
- == 0.4.4 2009-07-19
427
+ ## 0.4.4 2009-07-19
261
428
  * 2 minor update
262
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.
263
430
  * Fixed a bug in the cookies class method that caused cookies to be forgotten after the first request.
264
431
  * Also, some general cleanup of tests and such.
265
432
 
266
- == 0.4.3 2009-04-23
433
+ ## 0.4.3 2009-04-23
267
434
  * 1 minor update
268
435
  * added message to the response object
269
436
 
270
- == 0.4.2 2009-03-30
437
+ ## 0.4.2 2009-03-30
271
438
  * 2 minor changes
272
439
  * response code now returns an integer instead of a string (jqr)
273
440
  * rubyforge project setup for crack so i'm now depending on that instead of jnunemaker-crack
274
441
 
275
- == 0.4.1 2009-03-29
442
+ ## 0.4.1 2009-03-29
276
443
  * 1 minor fix
277
444
  * gem 'jnunemaker-crack' instead of gem 'crack'
278
445
 
279
- == 0.4.0 2009-03-29
446
+ ## 0.4.0 2009-03-29
280
447
  * 1 minor change
281
448
  * Switched xml and json parsing to crack (same code as before just moved to gem for easier reuse in other projects)
282
449
 
283
- == 0.3.1 2009-02-10
450
+ ## 0.3.1 2009-02-10
284
451
  * 1 minor fix, 1 minor enhancement
285
452
  * Fixed unescaping umlauts (siebertm)
286
453
  * Added yaml response parsing (Miha Filej)
287
454
 
288
- == 0.3.0 2009-01-31
455
+ ## 0.3.0 2009-01-31
289
456
  * 1 major enhancement, 1 bug fix
290
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.
291
458
  * Fixed bug where query strings were being duplicated on redirects
292
459
  * Added a bunch of specs and moved some code around.
293
460
 
294
- == 0.2.10 2009-01-29
461
+ ## 0.2.10 2009-01-29
295
462
  * 1 minor enhancement
296
463
  * Made encoding on query parameters treat everything except URI::PATTERN::UNRESERVED as UNSAFE to force encoding of '+' character (Julian Russell)
297
464
 
298
- == 0.2.9 2009-01-29
465
+ ## 0.2.9 2009-01-29
299
466
  * 3 minor enhancements
300
467
  * Added a 'headers' accessor to the response with a hash of any HTTP headers. (Don Peterson)
301
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)
302
469
  * Refactored several specs and added a full suite of cucumber features (Don Peterson)
303
470
 
304
- == 0.2.8 2009-01-28
471
+ ## 0.2.8 2009-01-28
305
472
  * 1 major fix
306
473
  * fixed major bug with response where it wouldn't iterate or really work at all with parsed responses
307
474
 
308
- == 0.2.7 2009-01-28
475
+ ## 0.2.7 2009-01-28
309
476
  * 2 minor fixes, 2 minor enhancements, 2 major enhancements
310
477
  * fixed undefined method add_node for nil class error that occasionally happened (juliocesar)
311
478
  * Handle nil or unexpected values better when typecasting. (Brian Landau)
@@ -314,77 +481,77 @@
314
481
  * Added first class response object that includes original body and status code (Alex Vollmer)
315
482
  * Now parsing all response types as some non-200 responses provide important information, this means no more exception raising (Alex Vollmer)
316
483
 
317
- == 0.2.6 2009-01-05
484
+ ## 0.2.6 2009-01-05
318
485
  * 1 minor bug fix
319
486
  * added explicit require of time as Time#parse failed outside of rails (willcodeforfoo)
320
487
 
321
- == 0.2.5 2009-01-05
488
+ ## 0.2.5 2009-01-05
322
489
  * 1 major enhancement
323
490
  * Add command line interface to HTTParty (Alex Vollmer)
324
491
 
325
- == 0.2.4 2008-12-23
492
+ ## 0.2.4 2008-12-23
326
493
  * 1 bug fix
327
494
  * Fixed that mimetype detection was failing if no mimetype was returned from service (skippy)
328
- == 0.2.3 2008-12-23
495
+ ## 0.2.3 2008-12-23
329
496
  * 1 bug fix
330
497
  * Fixed typecasting class variable naming issue
331
498
 
332
- == 0.2.2 2008-12-08
499
+ ## 0.2.2 2008-12-08
333
500
  * 1 bug fix
334
501
  * Added the missing core extension hash method to_xml_attributes
335
502
 
336
- == 0.2.1 2008-12-08
503
+ ## 0.2.1 2008-12-08
337
504
  * 1 bug fix
338
505
  * Fixed that HTTParty was borking ActiveSupport and as such Rails (thanks to Rob Sanheim)
339
506
 
340
- == 0.2.0 2008-12-07
507
+ ## 0.2.0 2008-12-07
341
508
  * 1 major enhancement
342
509
  * Removed ActiveSupport as a dependency. Now requires json gem for json deserialization and uses an included class to do the xml parsing.
343
510
 
344
- == 0.1.8 2008-11-30
511
+ ## 0.1.8 2008-11-30
345
512
  * 3 major enhancements
346
513
  * Moved base_uri normalization into request class and out of httparty module, fixing
347
514
  the problem where base_uri was not always being normalized.
348
515
  * Stupid simple support for HTTParty.get/post/put/delete. (jqr)
349
516
  * Switched gem management to Echoe from newgem.
350
517
 
351
- == 0.1.7 2008-11-30
518
+ ## 0.1.7 2008-11-30
352
519
  * 1 major enhancement
353
520
  * fixed multiple class definitions overriding each others options
354
521
 
355
- == 0.1.6 2008-11-26
522
+ ## 0.1.6 2008-11-26
356
523
  * 1 major enhancement
357
524
  * now passing :query to set_form_data if post request to avoid content length errors
358
525
 
359
- == 0.1.5 2008-11-14
526
+ ## 0.1.5 2008-11-14
360
527
  * 2 major enhancements
361
528
  * Refactored send request method out into its own object.
362
529
  * Added :html format if you just want to do that.
363
530
 
364
- == 0.1.4 2008-11-08
531
+ ## 0.1.4 2008-11-08
365
532
  * 3 major enhancements:
366
533
  * Removed some cruft
367
534
  * Added ability to follow redirects automatically and turn that off (Alex Vollmer)
368
535
 
369
- == 0.1.3 2008-08-22
536
+ ## 0.1.3 2008-08-22
370
537
 
371
538
  * 3 major enhancements:
372
539
  * Added http_proxy key for setting proxy server and port (francxk@gmail.com)
373
540
  * Now raises exception when http error occurs (francxk@gmail.com)
374
541
  * Changed auto format detection from file extension to response content type (Jay Pignata)
375
542
 
376
- == 0.1.2 2008-08-09
543
+ ## 0.1.2 2008-08-09
377
544
 
378
545
  * 1 major enhancement:
379
546
  * default_params were not being appended to query string if option[:query] was blank
380
547
 
381
- == 0.1.1 2008-07-30
548
+ ## 0.1.1 2008-07-30
382
549
 
383
550
  * 2 major enhancement:
384
551
  * Added :basic_auth key for options when making a request
385
552
  * :query and :body both now work with query string or hash
386
553
 
387
- == 0.1.0 2008-07-27
554
+ ## 0.1.0 2008-07-27
388
555
 
389
556
  * 1 major enhancement:
390
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