httparty 0.14.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +18 -0
  3. data/.github/workflows/ci.yml +26 -0
  4. data/.gitignore +3 -0
  5. data/.rubocop_todo.yml +1 -1
  6. data/{History → Changelog.md} +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