httparty-responsibly 0.17.0.r1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +18 -0
  3. data/.gitignore +13 -0
  4. data/.rubocop.yml +92 -0
  5. data/.rubocop_todo.yml +124 -0
  6. data/.simplecov +1 -0
  7. data/.travis.yml +11 -0
  8. data/CONTRIBUTING.md +23 -0
  9. data/Changelog.md +502 -0
  10. data/Gemfile +23 -0
  11. data/Guardfile +16 -0
  12. data/MIT-LICENSE +20 -0
  13. data/README.md +78 -0
  14. data/Rakefile +10 -0
  15. data/bin/httparty +123 -0
  16. data/cucumber.yml +1 -0
  17. data/docs/README.md +106 -0
  18. data/examples/README.md +86 -0
  19. data/examples/aaws.rb +32 -0
  20. data/examples/basic.rb +28 -0
  21. data/examples/body_stream.rb +14 -0
  22. data/examples/crack.rb +19 -0
  23. data/examples/custom_parsers.rb +68 -0
  24. data/examples/delicious.rb +37 -0
  25. data/examples/google.rb +16 -0
  26. data/examples/headers_and_user_agents.rb +10 -0
  27. data/examples/logging.rb +36 -0
  28. data/examples/microsoft_graph.rb +52 -0
  29. data/examples/multipart.rb +22 -0
  30. data/examples/nokogiri_html_parser.rb +19 -0
  31. data/examples/peer_cert.rb +9 -0
  32. data/examples/rescue_json.rb +17 -0
  33. data/examples/rubyurl.rb +14 -0
  34. data/examples/stackexchange.rb +24 -0
  35. data/examples/stream_download.rb +26 -0
  36. data/examples/tripit_sign_in.rb +44 -0
  37. data/examples/twitter.rb +31 -0
  38. data/examples/whoismyrep.rb +10 -0
  39. data/httparty-responsibly.gemspec +27 -0
  40. data/lib/httparty.rb +684 -0
  41. data/lib/httparty/connection_adapter.rb +244 -0
  42. data/lib/httparty/cookie_hash.rb +21 -0
  43. data/lib/httparty/exceptions.rb +33 -0
  44. data/lib/httparty/hash_conversions.rb +69 -0
  45. data/lib/httparty/logger/apache_formatter.rb +45 -0
  46. data/lib/httparty/logger/curl_formatter.rb +91 -0
  47. data/lib/httparty/logger/logger.rb +28 -0
  48. data/lib/httparty/logger/logstash_formatter.rb +59 -0
  49. data/lib/httparty/module_inheritable_attributes.rb +56 -0
  50. data/lib/httparty/net_digest_auth.rb +136 -0
  51. data/lib/httparty/parser.rb +150 -0
  52. data/lib/httparty/request.rb +386 -0
  53. data/lib/httparty/request/body.rb +84 -0
  54. data/lib/httparty/request/multipart_boundary.rb +11 -0
  55. data/lib/httparty/response.rb +140 -0
  56. data/lib/httparty/response/headers.rb +33 -0
  57. data/lib/httparty/response_fragment.rb +19 -0
  58. data/lib/httparty/text_encoder.rb +70 -0
  59. data/lib/httparty/utils.rb +11 -0
  60. data/lib/httparty/version.rb +3 -0
  61. data/script/release +42 -0
  62. data/website/css/common.css +47 -0
  63. data/website/index.html +73 -0
  64. metadata +138 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c9366a457655b713f32e9163acbfcf09e1aec5b8ad843664f1dafa02171ffda9
4
+ data.tar.gz: fb62c7d8f4192454f5312d7cd2f2540f365fb6ff22d6794da1e6f9ab460d2529
5
+ SHA512:
6
+ metadata.gz: 2797c8d27fd23fc0d86ea2335388d37649782bf395c59fcda6b4fa45dc6766038291b79be44614077f02c1a966911d03f845e76f615ee60315918df40ef0ed65
7
+ data.tar.gz: 217f9ba516f18298080a69ae914c4aba037ae1b2622ed4ca58694888d583872b198f82f767e069e6ccdfed70e2a3a56f19c81b7bc03fa0cd1787e03e959447a0
@@ -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,13 @@
1
+ Gemfile.lock
2
+ .DS_Store
3
+ .yardoc/
4
+ doc/
5
+ tmp/
6
+ log/
7
+ pkg/
8
+ *.swp
9
+ /.bundle
10
+ .rvmrc
11
+ coverage
12
+ *.gem
13
+ .idea
@@ -0,0 +1,92 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ # Offense count: 963
4
+ # Cop supports --auto-correct.
5
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
6
+ Style/StringLiterals:
7
+ Enabled: false
8
+
9
+ # Offense count: 327
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles.
12
+ Style/SpaceInsideHashLiteralBraces:
13
+ Enabled: false
14
+
15
+ # Offense count: 33
16
+ # Cop supports --auto-correct.
17
+ # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
18
+ Style/SpaceInsideBlockBraces:
19
+ Enabled: false
20
+
21
+ # Offense count: 1
22
+ # Cop supports --auto-correct.
23
+ Style/SpaceBeforeSemicolon:
24
+ Enabled: false
25
+
26
+ # Offense count: 20
27
+ # Cop supports --auto-correct.
28
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
29
+ Style/SignalException:
30
+ Enabled: false
31
+
32
+ # Offense count: 1
33
+ # Configuration parameters: Methods.
34
+ Style/SingleLineBlockParams:
35
+ Enabled: false
36
+
37
+ # Offense count: 6
38
+ # Cop supports --auto-correct.
39
+ Style/PerlBackrefs:
40
+ Enabled: false
41
+
42
+ # Offense count: 2
43
+ # Cop supports --auto-correct.
44
+ # Configuration parameters: AllowAsExpressionSeparator.
45
+ Style/Semicolon:
46
+ Enabled: false
47
+
48
+ # Offense count: 77
49
+ # Cop supports --auto-correct.
50
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
51
+ Style/BracesAroundHashParameters:
52
+ Enabled: false
53
+
54
+ # Offense count: 36
55
+ Style/Documentation:
56
+ Enabled: false
57
+
58
+ # Offense count: 6
59
+ # Cop supports --auto-correct.
60
+ # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
61
+ Style/RegexpLiteral:
62
+ Enabled: false
63
+
64
+ # Offense count: 5
65
+ # Cop supports --auto-correct.
66
+ Style/NumericLiterals:
67
+ MinDigits: 6
68
+
69
+ # Offense count: 4
70
+ # Cop supports --auto-correct.
71
+ Lint/UnusedMethodArgument:
72
+ Enabled: false
73
+
74
+ # Offense count: 11
75
+ # Cop supports --auto-correct.
76
+ Lint/UnusedBlockArgument:
77
+ Enabled: false
78
+
79
+ # Offense count: 1
80
+ Lint/Void:
81
+ Enabled: false
82
+
83
+ # Offense count: 22
84
+ # Cop supports --auto-correct.
85
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
86
+ Style/IndentHash:
87
+ Enabled: false
88
+
89
+ # Offense count: 7
90
+ # Configuration parameters: MinBodyLength.
91
+ Style/GuardClause:
92
+ Enabled: false
@@ -0,0 +1,124 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2015-04-24 07:22:28 +0200 using RuboCop version 0.30.0.
3
+ # The point is for the user to remove these configuration records
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
7
+
8
+ # Offense count: 33
9
+ Lint/AmbiguousRegexpLiteral:
10
+ Enabled: false
11
+
12
+ # Offense count: 1
13
+ # Configuration parameters: AlignWith, SupportedStyles.
14
+ Lint/EndAlignment:
15
+ Enabled: false
16
+
17
+ # Offense count: 1
18
+ Lint/HandleExceptions:
19
+ Enabled: false
20
+
21
+ # Offense count: 5
22
+ Lint/UselessAssignment:
23
+ Enabled: false
24
+
25
+ # Offense count: 23
26
+ Metrics/AbcSize:
27
+ Max: 86
28
+
29
+ # Offense count: 1
30
+ # Configuration parameters: CountComments.
31
+ Metrics/ClassLength:
32
+ Max: 285
33
+
34
+ # Offense count: 8
35
+ Metrics/CyclomaticComplexity:
36
+ Max: 17
37
+
38
+ # Offense count: 332
39
+ # Configuration parameters: AllowURI, URISchemes.
40
+ Metrics/LineLength:
41
+ Max: 266
42
+
43
+ # Offense count: 17
44
+ # Configuration parameters: CountComments.
45
+ Metrics/MethodLength:
46
+ Max: 39
47
+
48
+ # Offense count: 8
49
+ Metrics/PerceivedComplexity:
50
+ Max: 20
51
+
52
+ # Offense count: 1
53
+ Style/AccessorMethodName:
54
+ Enabled: false
55
+
56
+ # Offense count: 1
57
+ Style/AsciiComments:
58
+ Enabled: false
59
+
60
+ # Offense count: 14
61
+ # Cop supports --auto-correct.
62
+ # Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods.
63
+ Style/BlockDelimiters:
64
+ Enabled: false
65
+
66
+ # Offense count: 2
67
+ Style/CaseEquality:
68
+ Enabled: false
69
+
70
+ # Offense count: 3
71
+ # Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep.
72
+ Style/CaseIndentation:
73
+ Enabled: false
74
+
75
+ # Offense count: 4
76
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
77
+ Style/ClassAndModuleChildren:
78
+ Enabled: false
79
+
80
+ # Offense count: 7
81
+ Style/ConstantName:
82
+ Enabled: false
83
+
84
+ # Offense count: 2
85
+ Style/EachWithObject:
86
+ Enabled: false
87
+
88
+ # Offense count: 2
89
+ # Cop supports --auto-correct.
90
+ Style/ElseAlignment:
91
+ Enabled: false
92
+
93
+ # Offense count: 3
94
+ # Cop supports --auto-correct.
95
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
96
+ Style/FirstParameterIndentation:
97
+ Enabled: false
98
+
99
+ # Offense count: 2
100
+ # Cop supports --auto-correct.
101
+ # Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues.
102
+ Style/HashSyntax:
103
+ Enabled: false
104
+
105
+ # Offense count: 7
106
+ # Cop supports --auto-correct.
107
+ # Configuration parameters: MaxLineLength.
108
+ Style/IfUnlessModifier:
109
+ Enabled: false
110
+
111
+ # Offense count: 11
112
+ # Cop supports --auto-correct.
113
+ Style/Lambda:
114
+ Enabled: false
115
+
116
+ # Offense count: 1
117
+ # Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
118
+ Style/Next:
119
+ Enabled: false
120
+
121
+ # Offense count: 2
122
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
123
+ Style/RaiseArgs:
124
+ Enabled: false
@@ -0,0 +1 @@
1
+ SimpleCov.start "test_frameworks"
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 2.1.10
5
+ - 2.2.10
6
+ - 2.3.8
7
+ - 2.4.5
8
+ - 2.5.3
9
+ - 2.6.1
10
+ bundler_args: --without development
11
+ before_install: gem install bundler -v '< 2'
@@ -0,0 +1,23 @@
1
+ # Contributing
2
+
3
+ * Contributions will not be accepted without tests.
4
+ * Please post unconfirmed bugs to the mailing list first: https://groups.google.com/forum/#!forum/httparty-gem
5
+ * Don't change the version. The maintainers will handle that when they release.
6
+ * Always provide as much information and reproducibility as possible when filing an issue or submitting a pull request.
7
+
8
+ ## Workflow
9
+
10
+ * Fork the project.
11
+ * Run `bundle`
12
+ * Run `bundle exec rake`
13
+ * Make your feature addition or bug fix.
14
+ * Add tests for it. This is important so I don't break it in a future version unintentionally.
15
+ * Run `bundle exec rake` (No, REALLY :))
16
+ * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself in another branch so I can ignore when I pull)
17
+ * Send me a pull request. Bonus points for topic branches.
18
+
19
+ ## Help and Docs
20
+
21
+ * https://groups.google.com/forum/#!forum/httparty-gem
22
+ * http://stackoverflow.com/questions/tagged/httparty
23
+ * http://rdoc.info/projects/jnunemaker/httparty
@@ -0,0 +1,502 @@
1
+ ## 0.17.0
2
+
3
+ * [Fix encoding of streamed chunk](https://github.com/jnunemaker/httparty/pull/644)
4
+ * [Avoid modifying frozen strings](https://github.com/jnunemaker/httparty/pull/649)
5
+ * [Expose .connection on fragment block param](https://github.com/jnunemaker/httparty/pull/648)
6
+ * [Add support for `Net::HTTP#write_timeout` method (Ruby 2.6.0)](https://github.com/jnunemaker/httparty/pull/647)
7
+
8
+ ## 0.16.4
9
+ * [Add support for Ruby 2.6](https://github.com/jnunemaker/httparty/pull/636)
10
+ * [Fix a few multipart issues](https://github.com/jnunemaker/httparty/pull/626)
11
+ * [Improve a memory usage for https requests](https://github.com/jnunemaker/httparty/pull/625)
12
+ * [Add response code to streamed body](https://github.com/jnunemaker/httparty/pull/588)
13
+
14
+ ## 0.16.3
15
+ * [Add Logstash-compatible formatter](https://github.com/jnunemaker/httparty/pull/612)
16
+ * [Add support for headers specified with symbols](https://github.com/jnunemaker/httparty/pull/622)
17
+ * [Fix response object marshalling](https://github.com/jnunemaker/httparty/pull/618)
18
+ * [Add ability to send multipart, without passing file](https://github.com/jnunemaker/httparty/pull/615)
19
+ * [Fix detection of content_type for multipart payload](https://github.com/jnunemaker/httparty/pull/616)
20
+ * [Process dynamic headers before making actual request](https://github.com/jnunemaker/httparty/pull/606)
21
+ * [Fix multipart uploads with ActionDispatch::Http::UploadedFile TempFile by using original_filename](https://github.com/jnunemaker/httparty/pull/598)
22
+ * [Added support for lock and unlock http requests](https://github.com/jnunemaker/httparty/pull/596)
23
+
24
+ ## 0.16.2
25
+
26
+ * [Support ActionDispatch::Http::UploadedFile again](https://github.com/jnunemaker/httparty/pull/585)
27
+
28
+ ## 0.16.1
29
+
30
+ * [Parse content with application/hal+json content type as JSON](https://github.com/jnunemaker/httparty/pull/573)
31
+ * [Convert objects to string when concatenating in multipart stuff](https://github.com/jnunemaker/httparty/pull/575)
32
+ * [Fix multipart to set its header even when other headers are provided](https://github.com/jnunemaker/httparty/pull/576)
33
+
34
+ ## 0.16.0
35
+
36
+ * [Add multipart support](https://github.com/jnunemaker/httparty/pull/569)
37
+
38
+ ## 0.15.7
39
+
40
+ Fixed
41
+
42
+ * [Add Response#pretty_print | Restore documented behavior](https://github.com/jnunemaker/httparty/pull/570)
43
+ * [Add ability to parse response from JSONAPI ](https://github.com/jnunemaker/httparty/pull/553)
44
+
45
+ ## 0.15.6
46
+
47
+ Fixed
48
+
49
+ * [Encoding and content type stuff](https://github.com/jnunemaker/httparty/pull/543)
50
+
51
+ ## 0.15.5
52
+
53
+ Fixed
54
+
55
+ * [Use non-destructive gsub](https://github.com/jnunemaker/httparty/pull/540)
56
+
57
+ ## 0.15.4
58
+
59
+ Fixed
60
+
61
+ * Prevent gsub errors with different encodings.
62
+ * Prevent passing nil to encode_body.
63
+
64
+ ## 0.15.3
65
+
66
+ Fixed
67
+
68
+ * [Fix processing nil body for HEAD requests](https://github.com/jnunemaker/httparty/pull/530).
69
+ * Add missing require to headers.rb (33439a8).
70
+
71
+ ## 0.15.2
72
+
73
+ Fixed
74
+
75
+ * Remove symlink from specs. It was reportedly still getting bundled with gem.
76
+
77
+ ## 0.15.1
78
+
79
+ Fixed
80
+
81
+ * Stop including test files in gem. Fixes installation issues on windows due to symlink in spec dir.
82
+
83
+ ## 0.15.0
84
+
85
+ Breaking Changes
86
+
87
+ * require Ruby >= 2.0.0
88
+
89
+ Fixed
90
+
91
+ * [fix numerous bugs](https://github.com/jnunemaker/httparty/pull/513)
92
+ * [handle utf-8 bom for json parsing](https://github.com/jnunemaker/httparty/pull/520)
93
+ * [do not overwrite default headers unless specified](https://github.com/jnunemaker/httparty/pull/518)
94
+
95
+ ## 0.14.0
96
+
97
+ Breaking Changes
98
+
99
+ * None
100
+
101
+ Added
102
+
103
+ * [added status predicate methods to Response#respond_to?](https://github.com/jnunemaker/httparty/pull/482)
104
+ * [support for MKCOL method](https://github.com/jnunemaker/httparty/pull/465)
105
+ * one fewer dependency: [remove json gem from gemspec](https://github.com/jnunemaker/httparty/pull/464)
106
+ * [optional raising exception on certain status codes](https://github.com/jnunemaker/httparty/pull/455)
107
+
108
+ Fixed
109
+
110
+ * [allow empty array to be used as param](https://github.com/jnunemaker/httparty/pull/477)
111
+ * [stop mutating cookie hash](https://github.com/jnunemaker/httparty/pull/460)
112
+
113
+ ## 0.13.7 aka "party not as hard"
114
+ * remove post install emoji as it caused installation issues for some people
115
+
116
+ ## 0.13.6
117
+ * avoid calling String#strip on invalid Strings
118
+ * preserve request method on 307 and 308 redirects
119
+ * output version with --version for command line bin
120
+ * maintain head request method across redirects by default
121
+ * add support for RFC2617 MD5-sess algorithm type
122
+ * add party popper emoji to post install message
123
+
124
+ ## 0.13.5
125
+ * allow setting a custom URI adapter
126
+
127
+ ## 0.13.4
128
+ * correct redirect url for redirect paths without leading slash
129
+ * remove core_extensions.rb as backwards compat for ruby 1.8 not needed
130
+ * replace URI.encode with ERB::Util.url_encode
131
+ * allow the response to be tapped
132
+
133
+ ## 0.13.3
134
+ * minor improvement
135
+ * added option to allow for streaming large files without loading them into memory (672cdae)
136
+
137
+ ## 0.13.2
138
+ * minor improvement
139
+ * [Set correct path on redirect to filename](https://github.com/jnunemaker/httparty/pull/337)
140
+ * ensure logger works with curl format
141
+
142
+ ## 0.13.1 2014-04-08
143
+ * new
144
+ * [Added ability to specify a body_stream in HttpRequest](https://github.com/jnunemaker/httparty/pull/275)
145
+ * [Added read_timeout and open_timeout options](https://github.com/jnunemaker/httparty/pull/278)
146
+ * change
147
+ * [Initialize HTTParty requests with an URI object and a String](https://github.com/jnunemaker/httparty/pull/274)
148
+ * minor improvement
149
+ * [Add stackexchange API example](https://github.com/jnunemaker/httparty/pull/280)
150
+
151
+ ## 0.13.0 2014-02-14
152
+ * new
153
+ * [Add CSV support](https://github.com/jnunemaker/httparty/pull/269)
154
+ * [Allows PKCS12 client certificates](https://github.com/jnunemaker/httparty/pull/246)
155
+ * bug fix
156
+ * [Digest auth no longer fails when multiple headers are sent by the server](https://github.com/jnunemaker/httparty/pull/272)
157
+ * [Use 'Basement.copy' when calling 'HTTParty.copy'](https://github.com/jnunemaker/httparty/pull/268)
158
+ * [No longer appends ampersand when queries are embedded in paths](https://github.com/jnunemaker/httparty/pull/252)
159
+ * change
160
+ * [Merge - instead of overwrite - default headers with request provided headers](https://github.com/jnunemaker/httparty/pull/270)
161
+ * [Modernize respond_to implementations to support second param](https://github.com/jnunemaker/httparty/pull/264)
162
+ * [Sort query parameters by key before processing](https://github.com/jnunemaker/httparty/pull/245)
163
+ * minor improvement
164
+ * [Add HTTParty::Error base class](https://github.com/jnunemaker/httparty/pull/260)
165
+
166
+ ## 0.12.0 2013-10-10
167
+ * new
168
+ * [Added initial logging support](https://github.com/jnunemaker/httparty/pull/243)
169
+ * [Add support for local host and port binding](https://github.com/jnunemaker/httparty/pull/238)
170
+ * [content_type_charset_support](https://github.com/jnunemaker/httparty/commit/82e351f0904e8ecc856015ff2854698a2ca47fbc)
171
+ * bug fix
172
+ * [No longer attempt to decompress the body on HEAD requests](https://github.com/jnunemaker/httparty/commit/f2b8cc3d49e0e9363d7054b14f30c340d7b8e7f1)
173
+ * [Adding java check in aliasing of multiple choices](https://github.com/jnunemaker/httparty/pull/204/commits)
174
+ * change
175
+ * [MIME-type files of javascript are returned as a string instead of JSON](https://github.com/jnunemaker/httparty/pull/239)
176
+ * [Made SSL connections use the system certificate store by default](https://github.com/jnunemaker/httparty/pull/226)
177
+ * [Do not pass proxy options to Net::HTTP connection if not specified](https://github.com/jnunemaker/httparty/pull/222)
178
+ * [Replace multi_json with stdlib json](https://github.com/jnunemaker/httparty/pull/214)
179
+ * [Require Ruby >= 1.9.3]
180
+ * [Response returns array of returned cookie strings](https://github.com/jnunemaker/httparty/pull/218)
181
+ * [Allow '=' within value of a cookie]
182
+ * minor improvements
183
+ * [Improve documentation of ssl_ca_file, ssl_ca_path](https://github.com/jnunemaker/httparty/pull/223)
184
+ * [Fix example URLs](https://github.com/jnunemaker/httparty/pull/232)
185
+
186
+ ## 0.11.0 2013-04-10
187
+ * new
188
+ * [Add COPY http request handling](https://github.com/jnunemaker/httparty/pull/190)
189
+ * [Ruby 2.0 tests](https://github.com/jnunemaker/httparty/pull/194)
190
+ * [Ruby >= 2.0.0 support both multiple_choice? and multiple_choices?]
191
+ * bug fix
192
+ * [Maintain blocks passed to 'perform' in redirects](https://github.com/jnunemaker/httparty/pull/191)
193
+ * [Fixed nc value being quoted, this was against spec](https://github.com/jnunemaker/httparty/pull/196)
194
+ * [Request#uri no longer duplicates non-relative-path params](https://github.com/jnunemaker/httparty/pull/189)
195
+ * change
196
+ * [Client-side-only cookie attributes are removed: case-insensitive](https://github.com/jnunemaker/httparty/pull/188)
197
+
198
+ ## 0.10.2 2013-01-26
199
+ * bug fix
200
+ * [hash_conversions misnamed variable](https://github.com/jnunemaker/httparty/pull/187)
201
+
202
+ ## 0.10.1 2013-01-26
203
+ * new
204
+ * [Added support for MOVE requests](https://github.com/jnunemaker/httparty/pull/183)
205
+ * [Bump multi xml version](https://github.com/jnunemaker/httparty/pull/181)
206
+
207
+ ## 0.10.0 2013-01-10
208
+ * changes
209
+ * removed yaml support because of security risk (see rails yaml issues)
210
+
211
+ ## 0.9.0 2012-09-07
212
+ * new
213
+ * [support for connection adapters](https://github.com/jnunemaker/httparty/pull/157)
214
+ * [allow ssl_version on ruby 1.9](https://github.com/jnunemaker/httparty/pull/159)
215
+ * bug fixes
216
+ * [don't treat port 4430 as ssl](https://github.com/jnunemaker/httparty/commit/a296b1c97f83d7dcc6ef85720a43664c265685ac)
217
+ * [deep clone default options](https://github.com/jnunemaker/httparty/commit/f74227d30f9389b4b23a888c9af49fb9b8248e1f)
218
+ * a few net digest auth fixes
219
+
220
+ ## 0.8.3 2012-04-21
221
+ * new
222
+ * [lazy parsing of responses](https://github.com/jnunemaker/httparty/commit/9fd5259c8dab00e426082b66af44ede2c9068f45)
223
+ * [add support for PATCH requests](https://github.com/jnunemaker/httparty/commit/7ab6641e37a9e31517e46f6124f38c615395d38a)
224
+ * bug fixes
225
+ * [subclasses no longer override superclass options](https://github.com/jnunemaker/httparty/commit/682af8fbf672e7b3009e650da776c85cdfe78d39)
226
+
227
+ ## 0.8.2 2012-04-12
228
+ * new
229
+ * add -r to make CLI return failure code if status >= 400
230
+ * allow blank username from CLI
231
+ * bug fixes
232
+ * return nil for null body
233
+ * automatically deflate responses with a Content-Encoding: x-gzip header
234
+ * Do not HEAD on POST request with digest authentication
235
+ * add support for proxy authentication
236
+ * fix posting data with CLI
237
+ * require rexml/document if xml format from CLI
238
+ * support for fragmented responses
239
+
240
+ ## 0.8.1 2011-10-05
241
+ * bug fixes
242
+ * content-encoding header should be removed when automatically inflating the body
243
+
244
+ ## 0.8.0 2011-09-13
245
+ * new
246
+ * switch to multi json/xml for parsing by default
247
+ * bug fixes
248
+ * fix redirects to relative uri's
249
+
250
+ ## 0.7.8 2011-06-06
251
+ * bug fix
252
+ * Make response honor respond to
253
+ * net http timeout can also be a float
254
+
255
+ ## 0.7.7 2011-04-16
256
+ * bug fix
257
+ * Fix NoMethodError when using the NON_RAILS_QUERY_STRING_NORMALIZER with a hash whose key is a symbol and value is nil
258
+
259
+ ## 0.7.5 2011-04-16
260
+ * bug fix
261
+ * caused issue with latest rubygems
262
+
263
+ ## 0.7.4 2011-02-13
264
+ * bug fixes
265
+ * Set VERIFY_NONE when using https. Ruby 1.9.2 no longer sets this for us. gh-67
266
+
267
+ ## 0.7.3 2011-01-20
268
+ * bug fixes
269
+ * Fix digest auth for unspecified quality of protection (bjoernalbers, mtrudel, dwo)
270
+
271
+ ## 0.7.2 2011-01-20
272
+ * bug fixes
273
+ * Fix gem dependencies
274
+
275
+ ## 0.7.1 2011-01-19
276
+ * bug fixes
277
+ * Fix uninitialized constant HTTParty::Response::Net in 1.9.2 (cap10morgan)
278
+ * Other fixes for 1.9.2, full suite still fails (cap10morgan)
279
+
280
+ ## 0.7.0 2011-01-18
281
+ * minor enhancements
282
+ * Added query methods for HTTP status codes, i.e. response.success?
283
+ response.created? (thanks citizenparker)
284
+ * Added support for ssl_ca_file and ssl_ca_path (dlitz)
285
+ * Allow custom query string normalization. gh-8
286
+ * Unlock private keys with password (freerange)
287
+ * Added high level request documentation (phildarnowsky)
288
+ * Added basic post example (pbuckley)
289
+ * Response object has access to its corresponding request object
290
+ * Added example of siginin into tripit.com
291
+ * Added option to follow redirects (rkj). gh-56
292
+ * bug fixes
293
+ * Fixed superclass mismatch exception while running tests
294
+ (thanks dlitz http://github.com/dlitz/httparty/commit/48224f0615b32133afcff4718ad426df7a4b401b)
295
+
296
+ ## 0.6.1 2010-07-07
297
+ * minor enhancements
298
+ * updated to crack 0.1.8
299
+ * bug fixes
300
+ * subclasses always merge into the parent's default_options and
301
+ default_cookies (l4rk).
302
+ * subclasses play nicely with grand parents. gh-49
303
+
304
+ ## 0.6.0 2010-06-13
305
+ * major enhancements
306
+ * Digest Auth (bartiaco, sbecker, gilles, and aaronrussell)
307
+ * Maintain HTTP method across redirects (bartiaco and sbecker)
308
+ * HTTParty::Response#response returns the Net::HTTPResponse object
309
+ * HTTParty::Response#headers returns a HTTParty::Response::Headers object
310
+ which quacks like a Hash + Net::HTTPHeader. The #headers method continues
311
+ to be backwards-compatible with the old Hash return value but may become
312
+ deprecated in the future.
313
+
314
+ * minor enhancements
315
+ * Update crack requirement to version 0.1.7
316
+ You may still get a warning because Crack's version constant is out of date
317
+ * Timeout option can be set for all requests using HTTParty.default_timeout (taazza)
318
+ * Closed #38 "headers hash should downcase keys so canonical header name can be used"
319
+ * Closed #40 "Gzip response" wherein gziped and deflated responses are
320
+ automatically inflated. (carsonmcdonald)
321
+
322
+ ## 0.5.2 2010-01-31
323
+ * minor enhancements
324
+ * Update crack requirement to version 0.1.6
325
+
326
+ ## 0.5.1 2010-01-30
327
+ * bug fixes
328
+ * Handle 304 response correctly by returning the HTTParty::Response object instead of redirecting (seth and hellvinz)
329
+ * Only redirect 300 responses if the header contains a Location
330
+ * Don't append empty query strings to the uri. Closes #31
331
+ * When no_follow is enabled, only raise the RedirectionTooDeep exception when a response tries redirecting. Closes #28
332
+
333
+ * major enhancements
334
+ * Removed rubygems dependency. I suggest adding rubygems to RUBYOPT if this causes problems for you.
335
+ $ export RUBYOPT='rubygems'
336
+ * HTTParty#debug_output prints debugging information for the current request (iwarshak)
337
+ * HTTParty#no_follow now available as a class-level option. Sets whether or not to follow redirects.
338
+
339
+ * minor enhancements
340
+ * HTTParty::VERSION now available
341
+ * Update crack requirement to version 0.1.5
342
+
343
+ ## 0.5.0 2009-12-07
344
+ * bug fixes
345
+ * inheritable attributes no longer mutable by subclasses (yyyc514)
346
+ * namespace BasicObject within HTTParty to avoid class name collisions (eric)
347
+
348
+ * major enhancements
349
+ * Custom Parsers via class or proc
350
+ * Deprecation warning on HTTParty::AllowedFormats
351
+ moved to HTTParty::Parser::SupportedFormats
352
+
353
+ * minor enhancements
354
+ * Curl inspired output when using the binary in verbose mode (alexvollmer)
355
+ * raise UnsupportedURIScheme when scheme is not HTTP or HTTPS (djspinmonkey)
356
+ * Allow SSL for ports other than 443 when scheme is HTTPS (stefankroes)
357
+ * Accept PEM certificates via HTTParty#pem (chrislo)
358
+ * Support HEAD and OPTION verbs (grempe)
359
+ * Verify SSL certificates when providing a PEM file (collectiveidea/danielmorrison)
360
+
361
+ ## 0.4.5 2009-09-12
362
+ * bug fixes
363
+ * Fixed class-level headers overwritten by cookie management code. Closes #19
364
+ * Fixed "superclass mismatch for class BlankSlate" error. Closes #20
365
+ * Fixed reading files as post data from the command line (vesan)
366
+
367
+ * minor enhancements
368
+ * Timeout option added; will raise a Timeout::Error after the timeout has elapsed (attack). Closes #17
369
+ HTTParty.get "http://github.com", timeout: 1
370
+ * Building gem with Jeweler
371
+
372
+ ## 0.4.4 2009-07-19
373
+ * 2 minor update
374
+ * :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.
375
+ * Fixed a bug in the cookies class method that caused cookies to be forgotten after the first request.
376
+ * Also, some general cleanup of tests and such.
377
+
378
+ ## 0.4.3 2009-04-23
379
+ * 1 minor update
380
+ * added message to the response object
381
+
382
+ ## 0.4.2 2009-03-30
383
+ * 2 minor changes
384
+ * response code now returns an integer instead of a string (jqr)
385
+ * rubyforge project setup for crack so i'm now depending on that instead of jnunemaker-crack
386
+
387
+ ## 0.4.1 2009-03-29
388
+ * 1 minor fix
389
+ * gem 'jnunemaker-crack' instead of gem 'crack'
390
+
391
+ ## 0.4.0 2009-03-29
392
+ * 1 minor change
393
+ * Switched xml and json parsing to crack (same code as before just moved to gem for easier reuse in other projects)
394
+
395
+ ## 0.3.1 2009-02-10
396
+ * 1 minor fix, 1 minor enhancement
397
+ * Fixed unescaping umlauts (siebertm)
398
+ * Added yaml response parsing (Miha Filej)
399
+
400
+ ## 0.3.0 2009-01-31
401
+ * 1 major enhancement, 1 bug fix
402
+ * 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.
403
+ * Fixed bug where query strings were being duplicated on redirects
404
+ * Added a bunch of specs and moved some code around.
405
+
406
+ ## 0.2.10 2009-01-29
407
+ * 1 minor enhancement
408
+ * Made encoding on query parameters treat everything except URI::PATTERN::UNRESERVED as UNSAFE to force encoding of '+' character (Julian Russell)
409
+
410
+ ## 0.2.9 2009-01-29
411
+ * 3 minor enhancements
412
+ * Added a 'headers' accessor to the response with a hash of any HTTP headers. (Don Peterson)
413
+ * 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)
414
+ * Refactored several specs and added a full suite of cucumber features (Don Peterson)
415
+
416
+ ## 0.2.8 2009-01-28
417
+ * 1 major fix
418
+ * fixed major bug with response where it wouldn't iterate or really work at all with parsed responses
419
+
420
+ ## 0.2.7 2009-01-28
421
+ * 2 minor fixes, 2 minor enhancements, 2 major enhancements
422
+ * fixed undefined method add_node for nil class error that occasionally happened (juliocesar)
423
+ * Handle nil or unexpected values better when typecasting. (Brian Landau)
424
+ * More robust handling of mime types (Alex Vollmer)
425
+ * Fixed support for specifying headers and added support for basic auth to CLI. (Alex Vollmer)
426
+ * Added first class response object that includes original body and status code (Alex Vollmer)
427
+ * Now parsing all response types as some non-200 responses provide important information, this means no more exception raising (Alex Vollmer)
428
+
429
+ ## 0.2.6 2009-01-05
430
+ * 1 minor bug fix
431
+ * added explicit require of time as Time#parse failed outside of rails (willcodeforfoo)
432
+
433
+ ## 0.2.5 2009-01-05
434
+ * 1 major enhancement
435
+ * Add command line interface to HTTParty (Alex Vollmer)
436
+
437
+ ## 0.2.4 2008-12-23
438
+ * 1 bug fix
439
+ * Fixed that mimetype detection was failing if no mimetype was returned from service (skippy)
440
+ ## 0.2.3 2008-12-23
441
+ * 1 bug fix
442
+ * Fixed typecasting class variable naming issue
443
+
444
+ ## 0.2.2 2008-12-08
445
+ * 1 bug fix
446
+ * Added the missing core extension hash method to_xml_attributes
447
+
448
+ ## 0.2.1 2008-12-08
449
+ * 1 bug fix
450
+ * Fixed that HTTParty was borking ActiveSupport and as such Rails (thanks to Rob Sanheim)
451
+
452
+ ## 0.2.0 2008-12-07
453
+ * 1 major enhancement
454
+ * Removed ActiveSupport as a dependency. Now requires json gem for json deserialization and uses an included class to do the xml parsing.
455
+
456
+ ## 0.1.8 2008-11-30
457
+ * 3 major enhancements
458
+ * Moved base_uri normalization into request class and out of httparty module, fixing
459
+ the problem where base_uri was not always being normalized.
460
+ * Stupid simple support for HTTParty.get/post/put/delete. (jqr)
461
+ * Switched gem management to Echoe from newgem.
462
+
463
+ ## 0.1.7 2008-11-30
464
+ * 1 major enhancement
465
+ * fixed multiple class definitions overriding each others options
466
+
467
+ ## 0.1.6 2008-11-26
468
+ * 1 major enhancement
469
+ * now passing :query to set_form_data if post request to avoid content length errors
470
+
471
+ ## 0.1.5 2008-11-14
472
+ * 2 major enhancements
473
+ * Refactored send request method out into its own object.
474
+ * Added :html format if you just want to do that.
475
+
476
+ ## 0.1.4 2008-11-08
477
+ * 3 major enhancements:
478
+ * Removed some cruft
479
+ * Added ability to follow redirects automatically and turn that off (Alex Vollmer)
480
+
481
+ ## 0.1.3 2008-08-22
482
+
483
+ * 3 major enhancements:
484
+ * Added http_proxy key for setting proxy server and port (francxk@gmail.com)
485
+ * Now raises exception when http error occurs (francxk@gmail.com)
486
+ * Changed auto format detection from file extension to response content type (Jay Pignata)
487
+
488
+ ## 0.1.2 2008-08-09
489
+
490
+ * 1 major enhancement:
491
+ * default_params were not being appended to query string if option[:query] was blank
492
+
493
+ ## 0.1.1 2008-07-30
494
+
495
+ * 2 major enhancement:
496
+ * Added :basic_auth key for options when making a request
497
+ * :query and :body both now work with query string or hash
498
+
499
+ ## 0.1.0 2008-07-27
500
+
501
+ * 1 major enhancement:
502
+ * Initial release