httparty 0.17.0 → 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 (66) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop_todo.yml +1 -1
  3. data/Changelog.md +28 -0
  4. data/Gemfile +1 -0
  5. data/README.md +2 -0
  6. data/docs/README.md +1 -1
  7. data/httparty.gemspec +0 -1
  8. data/lib/httparty.rb +7 -23
  9. data/lib/httparty/connection_adapter.rb +10 -0
  10. data/lib/httparty/cookie_hash.rb +7 -7
  11. data/lib/httparty/hash_conversions.rb +1 -1
  12. data/lib/httparty/headers_processor.rb +30 -0
  13. data/lib/httparty/request.rb +9 -16
  14. data/lib/httparty/response.rb +14 -0
  15. data/lib/httparty/version.rb +1 -1
  16. metadata +5 -105
  17. data/features/basic_authentication.feature +0 -20
  18. data/features/command_line.feature +0 -95
  19. data/features/deals_with_http_error_codes.feature +0 -26
  20. data/features/digest_authentication.feature +0 -30
  21. data/features/handles_compressed_responses.feature +0 -27
  22. data/features/handles_multiple_formats.feature +0 -57
  23. data/features/steps/env.rb +0 -27
  24. data/features/steps/httparty_response_steps.rb +0 -56
  25. data/features/steps/httparty_steps.rb +0 -43
  26. data/features/steps/mongrel_helper.rb +0 -127
  27. data/features/steps/remote_service_steps.rb +0 -92
  28. data/features/supports_read_timeout_option.feature +0 -13
  29. data/features/supports_redirection.feature +0 -22
  30. data/features/supports_timeout_option.feature +0 -13
  31. data/spec/fixtures/delicious.xml +0 -23
  32. data/spec/fixtures/empty.xml +0 -0
  33. data/spec/fixtures/example.html +0 -10
  34. data/spec/fixtures/ssl/generate.sh +0 -29
  35. data/spec/fixtures/ssl/generated/bogushost.crt +0 -29
  36. data/spec/fixtures/ssl/generated/ca.crt +0 -31
  37. data/spec/fixtures/ssl/generated/ca.key +0 -52
  38. data/spec/fixtures/ssl/generated/selfsigned.crt +0 -29
  39. data/spec/fixtures/ssl/generated/server.crt +0 -30
  40. data/spec/fixtures/ssl/generated/server.key +0 -52
  41. data/spec/fixtures/ssl/openssl-exts.cnf +0 -9
  42. data/spec/fixtures/tiny.gif +0 -0
  43. data/spec/fixtures/twitter.csv +0 -2
  44. data/spec/fixtures/twitter.json +0 -1
  45. data/spec/fixtures/twitter.xml +0 -403
  46. data/spec/fixtures/undefined_method_add_node_for_nil.xml +0 -2
  47. data/spec/httparty/connection_adapter_spec.rb +0 -628
  48. data/spec/httparty/cookie_hash_spec.rb +0 -100
  49. data/spec/httparty/exception_spec.rb +0 -45
  50. data/spec/httparty/hash_conversions_spec.rb +0 -58
  51. data/spec/httparty/logger/apache_formatter_spec.rb +0 -40
  52. data/spec/httparty/logger/curl_formatter_spec.rb +0 -119
  53. data/spec/httparty/logger/logger_spec.rb +0 -43
  54. data/spec/httparty/logger/logstash_formatter_spec.rb +0 -44
  55. data/spec/httparty/net_digest_auth_spec.rb +0 -270
  56. data/spec/httparty/parser_spec.rb +0 -190
  57. data/spec/httparty/request/body_spec.rb +0 -165
  58. data/spec/httparty/request_spec.rb +0 -1389
  59. data/spec/httparty/response_fragment_spec.rb +0 -17
  60. data/spec/httparty/response_spec.rb +0 -374
  61. data/spec/httparty/ssl_spec.rb +0 -82
  62. data/spec/httparty_spec.rb +0 -943
  63. data/spec/spec_helper.rb +0 -57
  64. data/spec/support/ssl_test_helper.rb +0 -47
  65. data/spec/support/ssl_test_server.rb +0 -80
  66. data/spec/support/stub_response.rb +0 -50
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3e555084c3fc85098b7da66339a47958b2383014
4
- data.tar.gz: 937364fd6bd11140590f15beb4b324fa89eef30c
2
+ SHA256:
3
+ metadata.gz: 21274d1c09f3460352bc2aaf0cc00e6c0f9fb76eae45bc6dd0a65748c8d29463
4
+ data.tar.gz: c6900248181afef6fdf36381d4e33365345073a5a00f73498ac3e89259838f14
5
5
  SHA512:
6
- metadata.gz: 0f0a8e29081a7c99e7ebebbe885e717326cbd45930ed096c88d953c7ef0a53e16eec6cdf6f273eaa6dd83e1a2eb42c861e7917c81e267e3085cc709e42fa4506
7
- data.tar.gz: 1fcbb78cf1e3b7ede28e10f8de4ac40f34da5d1ec241dbfac9ff432e12f859ffd50457e469c39c3d4351f0a9997e916a1e09cb322fbe363b5e6df1e4ef7284f0
6
+ metadata.gz: 116978b76182751905d115a80ac0e350637564cad3c8d2bf8938ffcac99ff0e782bd810aa9889db3218ad147d38632c75fd85521682d22d7bb654de8cf1d0352
7
+ data.tar.gz: 2048e308a2d88288f9ab373f1472acd9955aeb7870c2a8cbfc128d0b71ace183bc7011a20f2f20ce7c2e37e400b4c9c6a3b695fc6dc36144e583a7151fc4a5e1
data/.rubocop_todo.yml CHANGED
@@ -15,7 +15,7 @@ Lint/EndAlignment:
15
15
  Enabled: false
16
16
 
17
17
  # Offense count: 1
18
- Lint/HandleExceptions:
18
+ Lint/SuppressedException:
19
19
  Enabled: false
20
20
 
21
21
  # Offense count: 5
data/Changelog.md CHANGED
@@ -1,3 +1,31 @@
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
+
1
29
  ## 0.17.0
2
30
 
3
31
  * [Fix encoding of streamed chunk](https://github.com/jnunemaker/httparty/pull/644)
data/Gemfile CHANGED
@@ -16,6 +16,7 @@ group :test do
16
16
  gem 'aruba'
17
17
  gem 'cucumber', '~> 2.3'
18
18
  gem 'webmock'
19
+ gem 'addressable'
19
20
  end
20
21
 
21
22
  group :development, :test do
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # httparty
2
2
 
3
+ [![Build Status](https://travis-ci.org/jnunemaker/httparty.svg?branch=master)](https://travis-ci.org/jnunemaker/httparty)
4
+
3
5
  Makes http fun again! Ain't no party like a httparty, because a httparty don't stop.
4
6
 
5
7
  ## Install
data/docs/README.md CHANGED
@@ -79,7 +79,7 @@ class Client
79
79
  base_uri "https://example.com"
80
80
 
81
81
  def self.fetch
82
- get("/resources", pem: (File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), "123456")
82
+ get("/resources", pem: File.read("#{File.expand_path('.')}/path/to/certs/cert.pem"), pem_password: "123456")
83
83
  end
84
84
  end
85
85
  ```
data/httparty.gemspec CHANGED
@@ -25,7 +25,6 @@ Gem::Specification.new do |s|
25
25
  test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
26
26
 
27
27
  s.files = all_files - test_files
28
- s.test_files = test_files
29
28
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
30
29
  s.require_paths = ["lib"]
31
30
  end
data/lib/httparty.rb CHANGED
@@ -17,6 +17,7 @@ require 'httparty/logger/logger'
17
17
  require 'httparty/request/body'
18
18
  require 'httparty/response_fragment'
19
19
  require 'httparty/text_encoder'
20
+ require 'httparty/headers_processor'
20
21
 
21
22
  # @see HTTParty::ClassMethods
22
23
  module HTTParty
@@ -40,11 +41,11 @@ module HTTParty
40
41
  # [:+limit+:] Maximum number of redirects to follow. Takes precedences over :+no_follow+.
41
42
  # [:+query+:] Query string, or an object that responds to #to_hash representing it. Normalized according to the same rules as :+body+. If you specify this on a POST, you must use an object which responds to #to_hash. See also HTTParty::ClassMethods.default_params.
42
43
  # [:+timeout+:] Timeout for opening connection and reading data.
43
- # [:+local_host:] Local address to bind to before connecting.
44
- # [:+local_port:] Local port to bind to before connecting.
45
- # [:+body_stream:] Allow streaming to a REST server to specify a body_stream.
46
- # [:+stream_body:] Allow for streaming large files without loading them into memory.
47
- # [:+multipart:] Force content-type to be multipart
44
+ # [:+local_host+:] Local address to bind to before connecting.
45
+ # [:+local_port+:] Local port to bind to before connecting.
46
+ # [:+body_stream+:] Allow streaming to a REST server to specify a body_stream.
47
+ # [:+stream_body+:] Allow for streaming large files without loading them into memory.
48
+ # [:+multipart+:] Force content-type to be multipart
48
49
  #
49
50
  # There are also another set of options with names corresponding to various class methods. The methods in question are those that let you set a class-wide default, and the options override the defaults on a request-by-request basis. Those options are:
50
51
  # * :+base_uri+: see HTTParty::ClassMethods.base_uri.
@@ -588,28 +589,11 @@ module HTTParty
588
589
 
589
590
  def perform_request(http_method, path, options, &block) #:nodoc:
590
591
  options = ModuleInheritableAttributes.hash_deep_dup(default_options).merge(options)
591
- process_headers(options)
592
+ HeadersProcessor.new(headers, options).call
592
593
  process_cookies(options)
593
594
  Request.new(http_method, path, options).perform(&block)
594
595
  end
595
596
 
596
- def process_headers(options)
597
- if options[:headers]
598
- if headers.any?
599
- options[:headers] = headers.merge(options[:headers])
600
- end
601
-
602
- options[:headers] = Utils.stringify_keys(process_dynamic_headers(options[:headers]))
603
- end
604
- end
605
-
606
- def process_dynamic_headers(headers)
607
- headers.each_with_object({}) do |header, processed_headers|
608
- key, value = header
609
- processed_headers[key] = value.respond_to?(:call) ? value.call : value
610
- end
611
- end
612
-
613
597
  def process_cookies(options) #:nodoc:
614
598
  return unless options[:cookies] || default_cookies.any?
615
599
  options[:headers] ||= headers.dup
@@ -137,6 +137,12 @@ module HTTParty
137
137
  end
138
138
  end
139
139
 
140
+ if add_max_retries?(options[:max_retries])
141
+ from_ruby_version('2.5.0', option: :max_retries) do
142
+ http.max_retries = options[:max_retries]
143
+ end
144
+ end
145
+
140
146
  if options[:debug_output]
141
147
  http.set_debug_output(options[:debug_output])
142
148
  end
@@ -177,6 +183,10 @@ module HTTParty
177
183
  timeout && (timeout.is_a?(Integer) || timeout.is_a?(Float))
178
184
  end
179
185
 
186
+ def add_max_retries?(max_retries)
187
+ max_retries && max_retries.is_a?(Integer) && max_retries >= 0
188
+ end
189
+
180
190
  def clean_host(host)
181
191
  strip_ipv6_brackets(host)
182
192
  end
@@ -1,14 +1,14 @@
1
1
  class HTTParty::CookieHash < Hash #:nodoc:
2
- CLIENT_COOKIES = %w(path expires domain path secure httponly)
2
+ CLIENT_COOKIES = %w(path expires domain path secure httponly samesite)
3
3
 
4
- def add_cookies(value)
5
- case value
4
+ def add_cookies(data)
5
+ case data
6
6
  when Hash
7
- merge!(value)
7
+ merge!(data)
8
8
  when String
9
- value.split('; ').each do |cookie|
10
- array = cookie.split('=', 2)
11
- self[array[0].to_sym] = array[1]
9
+ data.split('; ').each do |cookie|
10
+ key, value = cookie.split('=', 2)
11
+ self[key.to_sym] = value if key
12
12
  end
13
13
  else
14
14
  raise "add_cookies only takes a Hash or a String"
@@ -27,7 +27,7 @@ module HTTParty
27
27
  normalized_keys = normalize_keys(key, value)
28
28
 
29
29
  normalized_keys.flatten.each_slice(2).inject('') do |string, (k, v)|
30
- string + "#{k}=#{ERB::Util.url_encode(v.to_s)}&"
30
+ string + "#{ERB::Util.url_encode(k)}=#{ERB::Util.url_encode(v.to_s)}&"
31
31
  end
32
32
  end
33
33
 
@@ -0,0 +1,30 @@
1
+ module HTTParty
2
+ class HeadersProcessor
3
+ attr_reader :headers, :options
4
+
5
+ def initialize(headers, options)
6
+ @headers = headers
7
+ @options = options
8
+ end
9
+
10
+ def call
11
+ return unless options[:headers]
12
+
13
+ options[:headers] = headers.merge(options[:headers]) if headers.any?
14
+ options[:headers] = Utils.stringify_keys(process_dynamic_headers)
15
+ end
16
+
17
+ private
18
+
19
+ def process_dynamic_headers
20
+ options[:headers].each_with_object({}) do |header, processed_headers|
21
+ key, value = header
22
+ processed_headers[key] = if value.respond_to?(:call)
23
+ value.arity == 0 ? value.call : value.call(options)
24
+ else
25
+ value
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -71,7 +71,7 @@ module HTTParty
71
71
  @path = if uri.is_a?(uri_adapter)
72
72
  uri
73
73
  elsif String.try_convert(uri)
74
- uri_adapter.parse uri
74
+ uri_adapter.parse(uri).normalize
75
75
  else
76
76
  raise ArgumentError,
77
77
  "bad argument (expected #{uri_adapter} object or URI string)"
@@ -95,9 +95,9 @@ module HTTParty
95
95
  end
96
96
 
97
97
  if path.relative? && path.host
98
- new_uri = options[:uri_adapter].parse("#{@last_uri.scheme}:#{path}")
98
+ new_uri = options[:uri_adapter].parse("#{@last_uri.scheme}:#{path}").normalize
99
99
  elsif path.relative?
100
- new_uri = options[:uri_adapter].parse("#{base_uri}#{path}")
100
+ new_uri = options[:uri_adapter].parse("#{base_uri}#{path}").normalize
101
101
  else
102
102
  new_uri = path.clone
103
103
  end
@@ -204,22 +204,15 @@ module HTTParty
204
204
  end
205
205
 
206
206
  def setup_raw_request
207
- @raw_request = http_method.new(request_uri(uri))
208
- @raw_request.body_stream = options[:body_stream] if options[:body_stream]
209
-
210
207
  if options[:headers].respond_to?(:to_hash)
211
208
  headers_hash = options[:headers].to_hash
212
-
213
- @raw_request.initialize_http_header(headers_hash)
214
- # If the caller specified a header of 'Accept-Encoding', assume they want to
215
- # deal with encoding of content. Disable the internal logic in Net:HTTP
216
- # that handles encoding, if the platform supports it.
217
- if @raw_request.respond_to?(:decode_content) && (headers_hash.key?('Accept-Encoding') || headers_hash.key?('accept-encoding'))
218
- # Using the '[]=' sets decode_content to false
219
- @raw_request['accept-encoding'] = @raw_request['accept-encoding']
220
- end
209
+ else
210
+ headers_hash = nil
221
211
  end
222
212
 
213
+ @raw_request = http_method.new(request_uri(uri), headers_hash)
214
+ @raw_request.body_stream = options[:body_stream] if options[:body_stream]
215
+
223
216
  if options[:body]
224
217
  body = Body.new(
225
218
  options[:body],
@@ -305,7 +298,7 @@ module HTTParty
305
298
 
306
299
  def handle_host_redirection
307
300
  check_duplicate_location_header
308
- redirect_path = options[:uri_adapter].parse last_response['location']
301
+ redirect_path = options[:uri_adapter].parse(last_response['location']).normalize
309
302
  return if redirect_path.relative? || path.host == redirect_path.host
310
303
  @changed_hosts = true
311
304
  end
@@ -79,6 +79,7 @@ module HTTParty
79
79
  end
80
80
 
81
81
  def nil?
82
+ warn_about_nil_deprecation
82
83
  response.nil? || response.body.nil? || response.body.empty?
83
84
  end
84
85
 
@@ -134,6 +135,19 @@ module HTTParty
134
135
  ::Kernel.raise ::HTTParty::ResponseError.new(@response), "Code #{code} - #{body}"
135
136
  end
136
137
  end
138
+
139
+ private
140
+
141
+ def warn_about_nil_deprecation
142
+ trace_line = caller.reject { |line| line.include?('httparty') }.first
143
+ warning = "[DEPRECATION] HTTParty will no longer override `response#nil?`. " \
144
+ "This functionality will be removed in future versions. " \
145
+ "Please, add explicit check `response.body.nil? || response.body.empty?`. " \
146
+ "For more info refer to: https://github.com/jnunemaker/httparty/issues/568\n" \
147
+ "#{trace_line}"
148
+
149
+ warn(warning)
150
+ end
137
151
  end
138
152
  end
139
153
 
@@ -1,3 +1,3 @@
1
1
  module HTTParty
2
- VERSION = "0.17.0"
2
+ VERSION = "0.18.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Nunemaker
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-04-20 00:00:00.000000000 Z
12
+ date: 2020-06-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_xml
@@ -84,26 +84,13 @@ files:
84
84
  - examples/tripit_sign_in.rb
85
85
  - examples/twitter.rb
86
86
  - examples/whoismyrep.rb
87
- - features/basic_authentication.feature
88
- - features/command_line.feature
89
- - features/deals_with_http_error_codes.feature
90
- - features/digest_authentication.feature
91
- - features/handles_compressed_responses.feature
92
- - features/handles_multiple_formats.feature
93
- - features/steps/env.rb
94
- - features/steps/httparty_response_steps.rb
95
- - features/steps/httparty_steps.rb
96
- - features/steps/mongrel_helper.rb
97
- - features/steps/remote_service_steps.rb
98
- - features/supports_read_timeout_option.feature
99
- - features/supports_redirection.feature
100
- - features/supports_timeout_option.feature
101
87
  - httparty.gemspec
102
88
  - lib/httparty.rb
103
89
  - lib/httparty/connection_adapter.rb
104
90
  - lib/httparty/cookie_hash.rb
105
91
  - lib/httparty/exceptions.rb
106
92
  - lib/httparty/hash_conversions.rb
93
+ - lib/httparty/headers_processor.rb
107
94
  - lib/httparty/logger/apache_formatter.rb
108
95
  - lib/httparty/logger/curl_formatter.rb
109
96
  - lib/httparty/logger/logger.rb
@@ -121,42 +108,6 @@ files:
121
108
  - lib/httparty/utils.rb
122
109
  - lib/httparty/version.rb
123
110
  - script/release
124
- - spec/fixtures/delicious.xml
125
- - spec/fixtures/empty.xml
126
- - spec/fixtures/example.html
127
- - spec/fixtures/ssl/generate.sh
128
- - spec/fixtures/ssl/generated/bogushost.crt
129
- - spec/fixtures/ssl/generated/ca.crt
130
- - spec/fixtures/ssl/generated/ca.key
131
- - spec/fixtures/ssl/generated/selfsigned.crt
132
- - spec/fixtures/ssl/generated/server.crt
133
- - spec/fixtures/ssl/generated/server.key
134
- - spec/fixtures/ssl/openssl-exts.cnf
135
- - spec/fixtures/tiny.gif
136
- - spec/fixtures/twitter.csv
137
- - spec/fixtures/twitter.json
138
- - spec/fixtures/twitter.xml
139
- - spec/fixtures/undefined_method_add_node_for_nil.xml
140
- - spec/httparty/connection_adapter_spec.rb
141
- - spec/httparty/cookie_hash_spec.rb
142
- - spec/httparty/exception_spec.rb
143
- - spec/httparty/hash_conversions_spec.rb
144
- - spec/httparty/logger/apache_formatter_spec.rb
145
- - spec/httparty/logger/curl_formatter_spec.rb
146
- - spec/httparty/logger/logger_spec.rb
147
- - spec/httparty/logger/logstash_formatter_spec.rb
148
- - spec/httparty/net_digest_auth_spec.rb
149
- - spec/httparty/parser_spec.rb
150
- - spec/httparty/request/body_spec.rb
151
- - spec/httparty/request_spec.rb
152
- - spec/httparty/response_fragment_spec.rb
153
- - spec/httparty/response_spec.rb
154
- - spec/httparty/ssl_spec.rb
155
- - spec/httparty_spec.rb
156
- - spec/spec_helper.rb
157
- - spec/support/ssl_test_helper.rb
158
- - spec/support/ssl_test_server.rb
159
- - spec/support/stub_response.rb
160
111
  - website/css/common.css
161
112
  - website/index.html
162
113
  homepage: https://github.com/jnunemaker/httparty
@@ -178,59 +129,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
129
  - !ruby/object:Gem::Version
179
130
  version: '0'
180
131
  requirements: []
181
- rubyforge_project:
182
- rubygems_version: 2.6.14
132
+ rubygems_version: 3.1.2
183
133
  signing_key:
184
134
  specification_version: 4
185
135
  summary: Makes http fun! Also, makes consuming restful web services dead easy.
186
- test_files:
187
- - features/basic_authentication.feature
188
- - features/command_line.feature
189
- - features/deals_with_http_error_codes.feature
190
- - features/digest_authentication.feature
191
- - features/handles_compressed_responses.feature
192
- - features/handles_multiple_formats.feature
193
- - features/steps/env.rb
194
- - features/steps/httparty_response_steps.rb
195
- - features/steps/httparty_steps.rb
196
- - features/steps/mongrel_helper.rb
197
- - features/steps/remote_service_steps.rb
198
- - features/supports_read_timeout_option.feature
199
- - features/supports_redirection.feature
200
- - features/supports_timeout_option.feature
201
- - spec/fixtures/delicious.xml
202
- - spec/fixtures/empty.xml
203
- - spec/fixtures/example.html
204
- - spec/fixtures/ssl/generate.sh
205
- - spec/fixtures/ssl/generated/bogushost.crt
206
- - spec/fixtures/ssl/generated/ca.crt
207
- - spec/fixtures/ssl/generated/ca.key
208
- - spec/fixtures/ssl/generated/selfsigned.crt
209
- - spec/fixtures/ssl/generated/server.crt
210
- - spec/fixtures/ssl/generated/server.key
211
- - spec/fixtures/ssl/openssl-exts.cnf
212
- - spec/fixtures/tiny.gif
213
- - spec/fixtures/twitter.csv
214
- - spec/fixtures/twitter.json
215
- - spec/fixtures/twitter.xml
216
- - spec/fixtures/undefined_method_add_node_for_nil.xml
217
- - spec/httparty/connection_adapter_spec.rb
218
- - spec/httparty/cookie_hash_spec.rb
219
- - spec/httparty/exception_spec.rb
220
- - spec/httparty/hash_conversions_spec.rb
221
- - spec/httparty/logger/apache_formatter_spec.rb
222
- - spec/httparty/logger/curl_formatter_spec.rb
223
- - spec/httparty/logger/logger_spec.rb
224
- - spec/httparty/logger/logstash_formatter_spec.rb
225
- - spec/httparty/net_digest_auth_spec.rb
226
- - spec/httparty/parser_spec.rb
227
- - spec/httparty/request/body_spec.rb
228
- - spec/httparty/request_spec.rb
229
- - spec/httparty/response_fragment_spec.rb
230
- - spec/httparty/response_spec.rb
231
- - spec/httparty/ssl_spec.rb
232
- - spec/httparty_spec.rb
233
- - spec/spec_helper.rb
234
- - spec/support/ssl_test_helper.rb
235
- - spec/support/ssl_test_server.rb
236
- - spec/support/stub_response.rb
136
+ test_files: []