httparty-responsibly 0.17.1

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