httparty 0.13.3 → 0.18.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of httparty might be problematic. Click here for more details.

Files changed (109) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +18 -0
  3. data/.gitignore +3 -0
  4. data/.rubocop.yml +92 -0
  5. data/.rubocop_todo.yml +124 -0
  6. data/.simplecov +1 -0
  7. data/.travis.yml +7 -3
  8. data/CONTRIBUTING.md +23 -0
  9. data/{History → Changelog.md} +215 -55
  10. data/Gemfile +13 -3
  11. data/Guardfile +1 -1
  12. data/README.md +9 -5
  13. data/Rakefile +4 -5
  14. data/bin/httparty +16 -10
  15. data/docs/README.md +106 -0
  16. data/examples/README.md +33 -11
  17. data/examples/aaws.rb +3 -3
  18. data/examples/body_stream.rb +14 -0
  19. data/examples/crack.rb +2 -2
  20. data/examples/custom_parsers.rb +6 -5
  21. data/examples/delicious.rb +7 -7
  22. data/examples/google.rb +2 -2
  23. data/examples/headers_and_user_agents.rb +7 -3
  24. data/examples/logging.rb +7 -9
  25. data/examples/microsoft_graph.rb +52 -0
  26. data/examples/multipart.rb +22 -0
  27. data/examples/nokogiri_html_parser.rb +0 -3
  28. data/examples/peer_cert.rb +9 -0
  29. data/examples/rescue_json.rb +17 -0
  30. data/examples/rubyurl.rb +3 -3
  31. data/examples/stackexchange.rb +1 -1
  32. data/examples/stream_download.rb +26 -0
  33. data/examples/tripit_sign_in.rb +17 -6
  34. data/examples/twitter.rb +4 -4
  35. data/examples/whoismyrep.rb +1 -1
  36. data/httparty.gemspec +11 -9
  37. data/lib/httparty.rb +124 -74
  38. data/lib/httparty/connection_adapter.rb +90 -25
  39. data/lib/httparty/cookie_hash.rb +8 -9
  40. data/lib/httparty/exceptions.rb +5 -1
  41. data/lib/httparty/hash_conversions.rb +30 -12
  42. data/lib/httparty/headers_processor.rb +30 -0
  43. data/lib/httparty/logger/apache_formatter.rb +45 -0
  44. data/lib/httparty/logger/curl_formatter.rb +91 -0
  45. data/lib/httparty/logger/logger.rb +19 -9
  46. data/lib/httparty/logger/logstash_formatter.rb +59 -0
  47. data/lib/httparty/module_inheritable_attributes.rb +3 -3
  48. data/lib/httparty/net_digest_auth.rb +68 -19
  49. data/lib/httparty/parser.rb +21 -12
  50. data/lib/httparty/request.rb +147 -119
  51. data/lib/httparty/request/body.rb +84 -0
  52. data/lib/httparty/request/multipart_boundary.rb +11 -0
  53. data/lib/httparty/response.rb +95 -13
  54. data/lib/httparty/response/headers.rb +21 -19
  55. data/lib/httparty/response_fragment.rb +19 -0
  56. data/lib/httparty/text_encoder.rb +70 -0
  57. data/lib/httparty/utils.rb +11 -0
  58. data/lib/httparty/version.rb +1 -1
  59. data/website/css/common.css +1 -1
  60. metadata +38 -113
  61. data/features/basic_authentication.feature +0 -20
  62. data/features/command_line.feature +0 -7
  63. data/features/deals_with_http_error_codes.feature +0 -26
  64. data/features/digest_authentication.feature +0 -20
  65. data/features/handles_compressed_responses.feature +0 -27
  66. data/features/handles_multiple_formats.feature +0 -57
  67. data/features/steps/env.rb +0 -22
  68. data/features/steps/httparty_response_steps.rb +0 -52
  69. data/features/steps/httparty_steps.rb +0 -43
  70. data/features/steps/mongrel_helper.rb +0 -94
  71. data/features/steps/remote_service_steps.rb +0 -74
  72. data/features/supports_read_timeout_option.feature +0 -13
  73. data/features/supports_redirection.feature +0 -22
  74. data/features/supports_timeout_option.feature +0 -13
  75. data/lib/httparty/core_extensions.rb +0 -32
  76. data/lib/httparty/logger/apache_logger.rb +0 -22
  77. data/lib/httparty/logger/curl_logger.rb +0 -48
  78. data/spec/fixtures/delicious.xml +0 -23
  79. data/spec/fixtures/empty.xml +0 -0
  80. data/spec/fixtures/google.html +0 -3
  81. data/spec/fixtures/ssl/generate.sh +0 -29
  82. data/spec/fixtures/ssl/generated/1fe462c2.0 +0 -16
  83. data/spec/fixtures/ssl/generated/bogushost.crt +0 -13
  84. data/spec/fixtures/ssl/generated/ca.crt +0 -16
  85. data/spec/fixtures/ssl/generated/ca.key +0 -15
  86. data/spec/fixtures/ssl/generated/selfsigned.crt +0 -14
  87. data/spec/fixtures/ssl/generated/server.crt +0 -13
  88. data/spec/fixtures/ssl/generated/server.key +0 -15
  89. data/spec/fixtures/ssl/openssl-exts.cnf +0 -9
  90. data/spec/fixtures/twitter.csv +0 -2
  91. data/spec/fixtures/twitter.json +0 -1
  92. data/spec/fixtures/twitter.xml +0 -403
  93. data/spec/fixtures/undefined_method_add_node_for_nil.xml +0 -2
  94. data/spec/httparty/connection_adapter_spec.rb +0 -370
  95. data/spec/httparty/cookie_hash_spec.rb +0 -83
  96. data/spec/httparty/exception_spec.rb +0 -23
  97. data/spec/httparty/logger/apache_logger_spec.rb +0 -41
  98. data/spec/httparty/logger/curl_logger_spec.rb +0 -18
  99. data/spec/httparty/logger/logger_spec.rb +0 -22
  100. data/spec/httparty/net_digest_auth_spec.rb +0 -163
  101. data/spec/httparty/parser_spec.rb +0 -165
  102. data/spec/httparty/request_spec.rb +0 -816
  103. data/spec/httparty/response_spec.rb +0 -221
  104. data/spec/httparty/ssl_spec.rb +0 -74
  105. data/spec/httparty_spec.rb +0 -793
  106. data/spec/spec_helper.rb +0 -37
  107. data/spec/support/ssl_test_helper.rb +0 -47
  108. data/spec/support/ssl_test_server.rb +0 -80
  109. data/spec/support/stub_response.rb +0 -43
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cb42a1df375baa50335dbd9151a62dd8dff18ca6
4
- data.tar.gz: 7bd368829511fe16e9ee7feee2d30c234ea5a04a
2
+ SHA256:
3
+ metadata.gz: 21274d1c09f3460352bc2aaf0cc00e6c0f9fb76eae45bc6dd0a65748c8d29463
4
+ data.tar.gz: c6900248181afef6fdf36381d4e33365345073a5a00f73498ac3e89259838f14
5
5
  SHA512:
6
- metadata.gz: 5cb7342774ce3435cce9098959d3d23b51ffbf98d0a858af47da257e5bb1610411d8cc68ec43f56a1a93048ca29a0dec2cbd77735c2ae56b8be5a9b45559ce0b
7
- data.tar.gz: e34c9b170df6166dcf763c16d17fcdfe41098b91c138c2ee1fbb51b9f38439e0d6fe6890987d214b77b3a76f313c847b87fb68d6fa923bef4a19650533d26da5
6
+ metadata.gz: 116978b76182751905d115a80ac0e350637564cad3c8d2bf8938ffcac99ff0e782bd810aa9889db3218ad147d38632c75fd85521682d22d7bb654de8cf1d0352
7
+ data.tar.gz: 2048e308a2d88288f9ab373f1472acd9955aeb7870c2a8cbfc128d0b71ace183bc7011a20f2f20ce7c2e37e400b4c9c6a3b695fc6dc36144e583a7151fc4a5e1
@@ -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
data/.gitignore CHANGED
@@ -8,3 +8,6 @@ pkg/
8
8
  *.swp
9
9
  /.bundle
10
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/SuppressedException:
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"
@@ -1,7 +1,11 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
3
  - 2.0.0
5
- notifications:
6
- email: false
4
+ - 2.1.10
5
+ - 2.2.10
6
+ - 2.3.8
7
+ - 2.4.5
8
+ - 2.5.3
9
+ - 2.6.1
7
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
@@ -1,13 +1,173 @@
1
- == 0.13.3
1
+ ## 0.18.1
2
+
3
+ * [Rename cop Lint/HandleExceptions to Lint/SuppressedException](https://github.com/jnunemaker/httparty/pull/699).
4
+ * [Encode keys in query params](https://github.com/jnunemaker/httparty/pull/698).
5
+ * [Fixed SSL doc example](https://github.com/jnunemaker/httparty/pull/692).
6
+ * [Add a build status badge](https://github.com/jnunemaker/httparty/pull/701).
7
+
8
+
9
+ ## 0.18.0
10
+
11
+ * [Support gzip/deflate transfer encoding when explicit headers are set](https://github.com/jnunemaker/httparty/pull/678).
12
+ * [Support edge case cookie format with a blank attribute](https://github.com/jnunemaker/httparty/pull/685).
13
+
14
+ ## 0.17.3
15
+
16
+ 0.17.2 is broken https://github.com/jnunemaker/httparty/issues/681
17
+
18
+ ## 0.17.2
19
+
20
+ * [Add Response#nil? deprecetion warning](https://github.com/jnunemaker/httparty/pull/680)
21
+
22
+ ## 0.17.1
23
+
24
+ * [Pass options to dynamic block headers](https://github.com/jnunemaker/httparty/pull/661)
25
+ * [Normalize urls with URI adapter to allow International Domain Names support](https://github.com/jnunemaker/httparty/pull/668)
26
+ * [Add max_retries support](https://github.com/jnunemaker/httparty/pull/660)
27
+ * [Minize gem size by removing test files](https://github.com/jnunemaker/httparty/pull/658)
28
+
29
+ ## 0.17.0
30
+
31
+ * [Fix encoding of streamed chunk](https://github.com/jnunemaker/httparty/pull/644)
32
+ * [Avoid modifying frozen strings](https://github.com/jnunemaker/httparty/pull/649)
33
+ * [Expose .connection on fragment block param](https://github.com/jnunemaker/httparty/pull/648)
34
+ * [Add support for `Net::HTTP#write_timeout` method (Ruby 2.6.0)](https://github.com/jnunemaker/httparty/pull/647)
35
+
36
+ ## 0.16.4
37
+ * [Add support for Ruby 2.6](https://github.com/jnunemaker/httparty/pull/636)
38
+ * [Fix a few multipart issues](https://github.com/jnunemaker/httparty/pull/626)
39
+ * [Improve a memory usage for https requests](https://github.com/jnunemaker/httparty/pull/625)
40
+ * [Add response code to streamed body](https://github.com/jnunemaker/httparty/pull/588)
41
+
42
+ ## 0.16.3
43
+ * [Add Logstash-compatible formatter](https://github.com/jnunemaker/httparty/pull/612)
44
+ * [Add support for headers specified with symbols](https://github.com/jnunemaker/httparty/pull/622)
45
+ * [Fix response object marshalling](https://github.com/jnunemaker/httparty/pull/618)
46
+ * [Add ability to send multipart, without passing file](https://github.com/jnunemaker/httparty/pull/615)
47
+ * [Fix detection of content_type for multipart payload](https://github.com/jnunemaker/httparty/pull/616)
48
+ * [Process dynamic headers before making actual request](https://github.com/jnunemaker/httparty/pull/606)
49
+ * [Fix multipart uploads with ActionDispatch::Http::UploadedFile TempFile by using original_filename](https://github.com/jnunemaker/httparty/pull/598)
50
+ * [Added support for lock and unlock http requests](https://github.com/jnunemaker/httparty/pull/596)
51
+
52
+ ## 0.16.2
53
+
54
+ * [Support ActionDispatch::Http::UploadedFile again](https://github.com/jnunemaker/httparty/pull/585)
55
+
56
+ ## 0.16.1
57
+
58
+ * [Parse content with application/hal+json content type as JSON](https://github.com/jnunemaker/httparty/pull/573)
59
+ * [Convert objects to string when concatenating in multipart stuff](https://github.com/jnunemaker/httparty/pull/575)
60
+ * [Fix multipart to set its header even when other headers are provided](https://github.com/jnunemaker/httparty/pull/576)
61
+
62
+ ## 0.16.0
63
+
64
+ * [Add multipart support](https://github.com/jnunemaker/httparty/pull/569)
65
+
66
+ ## 0.15.7
67
+
68
+ Fixed
69
+
70
+ * [Add Response#pretty_print | Restore documented behavior](https://github.com/jnunemaker/httparty/pull/570)
71
+ * [Add ability to parse response from JSONAPI ](https://github.com/jnunemaker/httparty/pull/553)
72
+
73
+ ## 0.15.6
74
+
75
+ Fixed
76
+
77
+ * [Encoding and content type stuff](https://github.com/jnunemaker/httparty/pull/543)
78
+
79
+ ## 0.15.5
80
+
81
+ Fixed
82
+
83
+ * [Use non-destructive gsub](https://github.com/jnunemaker/httparty/pull/540)
84
+
85
+ ## 0.15.4
86
+
87
+ Fixed
88
+
89
+ * Prevent gsub errors with different encodings.
90
+ * Prevent passing nil to encode_body.
91
+
92
+ ## 0.15.3
93
+
94
+ Fixed
95
+
96
+ * [Fix processing nil body for HEAD requests](https://github.com/jnunemaker/httparty/pull/530).
97
+ * Add missing require to headers.rb (33439a8).
98
+
99
+ ## 0.15.2
100
+
101
+ Fixed
102
+
103
+ * Remove symlink from specs. It was reportedly still getting bundled with gem.
104
+
105
+ ## 0.15.1
106
+
107
+ Fixed
108
+
109
+ * Stop including test files in gem. Fixes installation issues on windows due to symlink in spec dir.
110
+
111
+ ## 0.15.0
112
+
113
+ Breaking Changes
114
+
115
+ * require Ruby >= 2.0.0
116
+
117
+ Fixed
118
+
119
+ * [fix numerous bugs](https://github.com/jnunemaker/httparty/pull/513)
120
+ * [handle utf-8 bom for json parsing](https://github.com/jnunemaker/httparty/pull/520)
121
+ * [do not overwrite default headers unless specified](https://github.com/jnunemaker/httparty/pull/518)
122
+
123
+ ## 0.14.0
124
+
125
+ Breaking Changes
126
+
127
+ * None
128
+
129
+ Added
130
+
131
+ * [added status predicate methods to Response#respond_to?](https://github.com/jnunemaker/httparty/pull/482)
132
+ * [support for MKCOL method](https://github.com/jnunemaker/httparty/pull/465)
133
+ * one fewer dependency: [remove json gem from gemspec](https://github.com/jnunemaker/httparty/pull/464)
134
+ * [optional raising exception on certain status codes](https://github.com/jnunemaker/httparty/pull/455)
135
+
136
+ Fixed
137
+
138
+ * [allow empty array to be used as param](https://github.com/jnunemaker/httparty/pull/477)
139
+ * [stop mutating cookie hash](https://github.com/jnunemaker/httparty/pull/460)
140
+
141
+ ## 0.13.7 aka "party not as hard"
142
+ * remove post install emoji as it caused installation issues for some people
143
+
144
+ ## 0.13.6
145
+ * avoid calling String#strip on invalid Strings
146
+ * preserve request method on 307 and 308 redirects
147
+ * output version with --version for command line bin
148
+ * maintain head request method across redirects by default
149
+ * add support for RFC2617 MD5-sess algorithm type
150
+ * add party popper emoji to post install message
151
+
152
+ ## 0.13.5
153
+ * allow setting a custom URI adapter
154
+
155
+ ## 0.13.4
156
+ * correct redirect url for redirect paths without leading slash
157
+ * remove core_extensions.rb as backwards compat for ruby 1.8 not needed
158
+ * replace URI.encode with ERB::Util.url_encode
159
+ * allow the response to be tapped
160
+
161
+ ## 0.13.3
2
162
  * minor improvement
3
163
  * added option to allow for streaming large files without loading them into memory (672cdae)
4
164
 
5
- == 0.13.2
165
+ ## 0.13.2
6
166
  * minor improvement
7
167
  * [Set correct path on redirect to filename](https://github.com/jnunemaker/httparty/pull/337)
8
168
  * ensure logger works with curl format
9
169
 
10
- == 0.13.1 2014-04-08
170
+ ## 0.13.1 2014-04-08
11
171
  * new
12
172
  * [Added ability to specify a body_stream in HttpRequest](https://github.com/jnunemaker/httparty/pull/275)
13
173
  * [Added read_timeout and open_timeout options](https://github.com/jnunemaker/httparty/pull/278)
@@ -16,7 +176,7 @@
16
176
  * minor improvement
17
177
  * [Add stackexchange API example](https://github.com/jnunemaker/httparty/pull/280)
18
178
 
19
- == 0.13.0 2014-02-14
179
+ ## 0.13.0 2014-02-14
20
180
  * new
21
181
  * [Add CSV support](https://github.com/jnunemaker/httparty/pull/269)
22
182
  * [Allows PKCS12 client certificates](https://github.com/jnunemaker/httparty/pull/246)
@@ -31,7 +191,7 @@
31
191
  * minor improvement
32
192
  * [Add HTTParty::Error base class](https://github.com/jnunemaker/httparty/pull/260)
33
193
 
34
- == 0.12.0 2013-10-10
194
+ ## 0.12.0 2013-10-10
35
195
  * new
36
196
  * [Added initial logging support](https://github.com/jnunemaker/httparty/pull/243)
37
197
  * [Add support for local host and port binding](https://github.com/jnunemaker/httparty/pull/238)
@@ -51,7 +211,7 @@
51
211
  * [Improve documentation of ssl_ca_file, ssl_ca_path](https://github.com/jnunemaker/httparty/pull/223)
52
212
  * [Fix example URLs](https://github.com/jnunemaker/httparty/pull/232)
53
213
 
54
- == 0.11.0 2013-04-10
214
+ ## 0.11.0 2013-04-10
55
215
  * new
56
216
  * [Add COPY http request handling](https://github.com/jnunemaker/httparty/pull/190)
57
217
  * [Ruby 2.0 tests](https://github.com/jnunemaker/httparty/pull/194)
@@ -63,20 +223,20 @@
63
223
  * change
64
224
  * [Client-side-only cookie attributes are removed: case-insensitive](https://github.com/jnunemaker/httparty/pull/188)
65
225
 
66
- == 0.10.2 2013-01-26
226
+ ## 0.10.2 2013-01-26
67
227
  * bug fix
68
228
  * [hash_conversions misnamed variable](https://github.com/jnunemaker/httparty/pull/187)
69
229
 
70
- == 0.10.1 2013-01-26
230
+ ## 0.10.1 2013-01-26
71
231
  * new
72
232
  * [Added support for MOVE requests](https://github.com/jnunemaker/httparty/pull/183)
73
233
  * [Bump multi xml version](https://github.com/jnunemaker/httparty/pull/181)
74
234
 
75
- == 0.10.0 2013-01-10
235
+ ## 0.10.0 2013-01-10
76
236
  * changes
77
237
  * removed yaml support because of security risk (see rails yaml issues)
78
238
 
79
- == 0.9.0 2012-09-07
239
+ ## 0.9.0 2012-09-07
80
240
  * new
81
241
  * [support for connection adapters](https://github.com/jnunemaker/httparty/pull/157)
82
242
  * [allow ssl_version on ruby 1.9](https://github.com/jnunemaker/httparty/pull/159)
@@ -85,14 +245,14 @@
85
245
  * [deep clone default options](https://github.com/jnunemaker/httparty/commit/f74227d30f9389b4b23a888c9af49fb9b8248e1f)
86
246
  * a few net digest auth fixes
87
247
 
88
- == 0.8.3 2012-04-21
248
+ ## 0.8.3 2012-04-21
89
249
  * new
90
250
  * [lazy parsing of responses](https://github.com/jnunemaker/httparty/commit/9fd5259c8dab00e426082b66af44ede2c9068f45)
91
251
  * [add support for PATCH requests](https://github.com/jnunemaker/httparty/commit/7ab6641e37a9e31517e46f6124f38c615395d38a)
92
252
  * bug fixes
93
253
  * [subclasses no longer override superclass options](https://github.com/jnunemaker/httparty/commit/682af8fbf672e7b3009e650da776c85cdfe78d39)
94
254
 
95
- == 0.8.2 2012-04-12
255
+ ## 0.8.2 2012-04-12
96
256
  * new
97
257
  * add -r to make CLI return failure code if status >= 400
98
258
  * allow blank username from CLI
@@ -105,47 +265,47 @@
105
265
  * require rexml/document if xml format from CLI
106
266
  * support for fragmented responses
107
267
 
108
- == 0.8.1 2011-10-05
268
+ ## 0.8.1 2011-10-05
109
269
  * bug fixes
110
270
  * content-encoding header should be removed when automatically inflating the body
111
271
 
112
- == 0.8.0 2011-09-13
272
+ ## 0.8.0 2011-09-13
113
273
  * new
114
274
  * switch to multi json/xml for parsing by default
115
275
  * bug fixes
116
276
  * fix redirects to relative uri's
117
277
 
118
- == 0.7.8 2011-06-06
278
+ ## 0.7.8 2011-06-06
119
279
  * bug fix
120
280
  * Make response honor respond to
121
281
  * net http timeout can also be a float
122
282
 
123
- == 0.7.7 2011-04-16
283
+ ## 0.7.7 2011-04-16
124
284
  * bug fix
125
285
  * Fix NoMethodError when using the NON_RAILS_QUERY_STRING_NORMALIZER with a hash whose key is a symbol and value is nil
126
286
 
127
- == 0.7.5 2011-04-16
287
+ ## 0.7.5 2011-04-16
128
288
  * bug fix
129
289
  * caused issue with latest rubygems
130
290
 
131
- == 0.7.4 2011-02-13
291
+ ## 0.7.4 2011-02-13
132
292
  * bug fixes
133
293
  * Set VERIFY_NONE when using https. Ruby 1.9.2 no longer sets this for us. gh-67
134
294
 
135
- == 0.7.3 2011-01-20
295
+ ## 0.7.3 2011-01-20
136
296
  * bug fixes
137
297
  * Fix digest auth for unspecified quality of protection (bjoernalbers, mtrudel, dwo)
138
298
 
139
- == 0.7.2 2011-01-20
299
+ ## 0.7.2 2011-01-20
140
300
  * bug fixes
141
301
  * Fix gem dependencies
142
302
 
143
- == 0.7.1 2011-01-19
303
+ ## 0.7.1 2011-01-19
144
304
  * bug fixes
145
305
  * Fix uninitialized constant HTTParty::Response::Net in 1.9.2 (cap10morgan)
146
306
  * Other fixes for 1.9.2, full suite still fails (cap10morgan)
147
307
 
148
- == 0.7.0 2011-01-18
308
+ ## 0.7.0 2011-01-18
149
309
  * minor enhancements
150
310
  * Added query methods for HTTP status codes, i.e. response.success?
151
311
  response.created? (thanks citizenparker)
@@ -161,7 +321,7 @@
161
321
  * Fixed superclass mismatch exception while running tests
162
322
  (thanks dlitz http://github.com/dlitz/httparty/commit/48224f0615b32133afcff4718ad426df7a4b401b)
163
323
 
164
- == 0.6.1 2010-07-07
324
+ ## 0.6.1 2010-07-07
165
325
  * minor enhancements
166
326
  * updated to crack 0.1.8
167
327
  * bug fixes
@@ -169,7 +329,7 @@
169
329
  default_cookies (l4rk).
170
330
  * subclasses play nicely with grand parents. gh-49
171
331
 
172
- == 0.6.0 2010-06-13
332
+ ## 0.6.0 2010-06-13
173
333
  * major enhancements
174
334
  * Digest Auth (bartiaco, sbecker, gilles, and aaronrussell)
175
335
  * Maintain HTTP method across redirects (bartiaco and sbecker)
@@ -187,11 +347,11 @@
187
347
  * Closed #40 "Gzip response" wherein gziped and deflated responses are
188
348
  automatically inflated. (carsonmcdonald)
189
349
 
190
- == 0.5.2 2010-01-31
350
+ ## 0.5.2 2010-01-31
191
351
  * minor enhancements
192
352
  * Update crack requirement to version 0.1.6
193
353
 
194
- == 0.5.1 2010-01-30
354
+ ## 0.5.1 2010-01-30
195
355
  * bug fixes
196
356
  * Handle 304 response correctly by returning the HTTParty::Response object instead of redirecting (seth and hellvinz)
197
357
  * Only redirect 300 responses if the header contains a Location
@@ -208,7 +368,7 @@
208
368
  * HTTParty::VERSION now available
209
369
  * Update crack requirement to version 0.1.5
210
370
 
211
- == 0.5.0 2009-12-07
371
+ ## 0.5.0 2009-12-07
212
372
  * bug fixes
213
373
  * inheritable attributes no longer mutable by subclasses (yyyc514)
214
374
  * namespace BasicObject within HTTParty to avoid class name collisions (eric)
@@ -226,7 +386,7 @@
226
386
  * Support HEAD and OPTION verbs (grempe)
227
387
  * Verify SSL certificates when providing a PEM file (collectiveidea/danielmorrison)
228
388
 
229
- == 0.4.5 2009-09-12
389
+ ## 0.4.5 2009-09-12
230
390
  * bug fixes
231
391
  * Fixed class-level headers overwritten by cookie management code. Closes #19
232
392
  * Fixed "superclass mismatch for class BlankSlate" error. Closes #20
@@ -237,55 +397,55 @@
237
397
  HTTParty.get "http://github.com", timeout: 1
238
398
  * Building gem with Jeweler
239
399
 
240
- == 0.4.4 2009-07-19
400
+ ## 0.4.4 2009-07-19
241
401
  * 2 minor update
242
402
  * :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.
243
403
  * Fixed a bug in the cookies class method that caused cookies to be forgotten after the first request.
244
404
  * Also, some general cleanup of tests and such.
245
405
 
246
- == 0.4.3 2009-04-23
406
+ ## 0.4.3 2009-04-23
247
407
  * 1 minor update
248
408
  * added message to the response object
249
409
 
250
- == 0.4.2 2009-03-30
410
+ ## 0.4.2 2009-03-30
251
411
  * 2 minor changes
252
412
  * response code now returns an integer instead of a string (jqr)
253
413
  * rubyforge project setup for crack so i'm now depending on that instead of jnunemaker-crack
254
414
 
255
- == 0.4.1 2009-03-29
415
+ ## 0.4.1 2009-03-29
256
416
  * 1 minor fix
257
417
  * gem 'jnunemaker-crack' instead of gem 'crack'
258
418
 
259
- == 0.4.0 2009-03-29
419
+ ## 0.4.0 2009-03-29
260
420
  * 1 minor change
261
421
  * Switched xml and json parsing to crack (same code as before just moved to gem for easier reuse in other projects)
262
422
 
263
- == 0.3.1 2009-02-10
423
+ ## 0.3.1 2009-02-10
264
424
  * 1 minor fix, 1 minor enhancement
265
425
  * Fixed unescaping umlauts (siebertm)
266
426
  * Added yaml response parsing (Miha Filej)
267
427
 
268
- == 0.3.0 2009-01-31
428
+ ## 0.3.0 2009-01-31
269
429
  * 1 major enhancement, 1 bug fix
270
430
  * 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.
271
431
  * Fixed bug where query strings were being duplicated on redirects
272
432
  * Added a bunch of specs and moved some code around.
273
433
 
274
- == 0.2.10 2009-01-29
434
+ ## 0.2.10 2009-01-29
275
435
  * 1 minor enhancement
276
436
  * Made encoding on query parameters treat everything except URI::PATTERN::UNRESERVED as UNSAFE to force encoding of '+' character (Julian Russell)
277
437
 
278
- == 0.2.9 2009-01-29
438
+ ## 0.2.9 2009-01-29
279
439
  * 3 minor enhancements
280
440
  * Added a 'headers' accessor to the response with a hash of any HTTP headers. (Don Peterson)
281
441
  * 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)
282
442
  * Refactored several specs and added a full suite of cucumber features (Don Peterson)
283
443
 
284
- == 0.2.8 2009-01-28
444
+ ## 0.2.8 2009-01-28
285
445
  * 1 major fix
286
446
  * fixed major bug with response where it wouldn't iterate or really work at all with parsed responses
287
447
 
288
- == 0.2.7 2009-01-28
448
+ ## 0.2.7 2009-01-28
289
449
  * 2 minor fixes, 2 minor enhancements, 2 major enhancements
290
450
  * fixed undefined method add_node for nil class error that occasionally happened (juliocesar)
291
451
  * Handle nil or unexpected values better when typecasting. (Brian Landau)
@@ -294,77 +454,77 @@
294
454
  * Added first class response object that includes original body and status code (Alex Vollmer)
295
455
  * Now parsing all response types as some non-200 responses provide important information, this means no more exception raising (Alex Vollmer)
296
456
 
297
- == 0.2.6 2009-01-05
457
+ ## 0.2.6 2009-01-05
298
458
  * 1 minor bug fix
299
459
  * added explicit require of time as Time#parse failed outside of rails (willcodeforfoo)
300
460
 
301
- == 0.2.5 2009-01-05
461
+ ## 0.2.5 2009-01-05
302
462
  * 1 major enhancement
303
463
  * Add command line interface to HTTParty (Alex Vollmer)
304
464
 
305
- == 0.2.4 2008-12-23
465
+ ## 0.2.4 2008-12-23
306
466
  * 1 bug fix
307
467
  * Fixed that mimetype detection was failing if no mimetype was returned from service (skippy)
308
- == 0.2.3 2008-12-23
468
+ ## 0.2.3 2008-12-23
309
469
  * 1 bug fix
310
470
  * Fixed typecasting class variable naming issue
311
471
 
312
- == 0.2.2 2008-12-08
472
+ ## 0.2.2 2008-12-08
313
473
  * 1 bug fix
314
474
  * Added the missing core extension hash method to_xml_attributes
315
475
 
316
- == 0.2.1 2008-12-08
476
+ ## 0.2.1 2008-12-08
317
477
  * 1 bug fix
318
478
  * Fixed that HTTParty was borking ActiveSupport and as such Rails (thanks to Rob Sanheim)
319
479
 
320
- == 0.2.0 2008-12-07
480
+ ## 0.2.0 2008-12-07
321
481
  * 1 major enhancement
322
482
  * Removed ActiveSupport as a dependency. Now requires json gem for json deserialization and uses an included class to do the xml parsing.
323
483
 
324
- == 0.1.8 2008-11-30
484
+ ## 0.1.8 2008-11-30
325
485
  * 3 major enhancements
326
486
  * Moved base_uri normalization into request class and out of httparty module, fixing
327
487
  the problem where base_uri was not always being normalized.
328
488
  * Stupid simple support for HTTParty.get/post/put/delete. (jqr)
329
489
  * Switched gem management to Echoe from newgem.
330
490
 
331
- == 0.1.7 2008-11-30
491
+ ## 0.1.7 2008-11-30
332
492
  * 1 major enhancement
333
493
  * fixed multiple class definitions overriding each others options
334
494
 
335
- == 0.1.6 2008-11-26
495
+ ## 0.1.6 2008-11-26
336
496
  * 1 major enhancement
337
497
  * now passing :query to set_form_data if post request to avoid content length errors
338
498
 
339
- == 0.1.5 2008-11-14
499
+ ## 0.1.5 2008-11-14
340
500
  * 2 major enhancements
341
501
  * Refactored send request method out into its own object.
342
502
  * Added :html format if you just want to do that.
343
503
 
344
- == 0.1.4 2008-11-08
504
+ ## 0.1.4 2008-11-08
345
505
  * 3 major enhancements:
346
506
  * Removed some cruft
347
507
  * Added ability to follow redirects automatically and turn that off (Alex Vollmer)
348
508
 
349
- == 0.1.3 2008-08-22
509
+ ## 0.1.3 2008-08-22
350
510
 
351
511
  * 3 major enhancements:
352
512
  * Added http_proxy key for setting proxy server and port (francxk@gmail.com)
353
513
  * Now raises exception when http error occurs (francxk@gmail.com)
354
514
  * Changed auto format detection from file extension to response content type (Jay Pignata)
355
515
 
356
- == 0.1.2 2008-08-09
516
+ ## 0.1.2 2008-08-09
357
517
 
358
518
  * 1 major enhancement:
359
519
  * default_params were not being appended to query string if option[:query] was blank
360
520
 
361
- == 0.1.1 2008-07-30
521
+ ## 0.1.1 2008-07-30
362
522
 
363
523
  * 2 major enhancement:
364
524
  * Added :basic_auth key for options when making a request
365
525
  * :query and :body both now work with query string or hash
366
526
 
367
- == 0.1.0 2008-07-27
527
+ ## 0.1.0 2008-07-27
368
528
 
369
529
  * 1 major enhancement:
370
530
  * Initial release