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