From 57a6bd6e1d7b66ff2ac67ca5f87005ff089b5738 Mon Sep 17 00:00:00 2001 From: Harman Singh Date: Mon, 8 Oct 2018 17:14:44 +0530 Subject: [PATCH] Adds editorconfig --- .editorconfig | 18 +++++++++++++++ examples/README.md | 22 +++++++++---------- features/steps/mongrel_helper.rb | 6 ++--- lib/httparty.rb | 3 ++- lib/httparty/connection_adapter.rb | 13 ++++++++--- lib/httparty/hash_conversions.rb | 8 +++++-- lib/httparty/module_inheritable_attributes.rb | 6 ++--- lib/httparty/net_digest_auth.rb | 11 +++++----- lib/httparty/response.rb | 14 +++++++----- lib/httparty/response/headers.rb | 4 ++-- spec/httparty/connection_adapter_spec.rb | 8 +++++-- spec/httparty/net_digest_auth_spec.rb | 12 +++++----- spec/httparty/response_spec.rb | 8 +++---- website/css/common.css | 2 +- 14 files changed, 87 insertions(+), 48 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..13c6966 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at http://EditorConfig.org + +root = true +[*] +end_of_line = lf +trim_trailing_whitespace = true + +[**.rb] +indent_size = 2 +indent_style = spaces +insert_final_newline = true + +[**.xml] +trim_trailing_whitespace = false + +[**.html] +trim_trailing_whitespace = false diff --git a/examples/README.md b/examples/README.md index 3915893..d4a803a 100644 --- a/examples/README.md +++ b/examples/README.md @@ -13,22 +13,22 @@ * Creates a custom parser for XML using crack gem * Uses `get` request -* [Create HTML Nokogiri parser](nokogiri_html_parser.rb) +* [Create HTML Nokogiri parser](nokogiri_html_parser.rb) * Adds Html as a format * passed the body of request to Nokogiri - + * [More Custom Parsers](custom_parsers.rb) * Create an additional parser for atom or make it the ONLY parser - + * [Basic Auth, Delicious](delicious.rb) * Basic Auth, shows how to merge those into options * Uses `get` requests - + * [Passing Headers, User Agent](headers_and_user_agents.rb) * Use the class method of Httparty * Pass the User-Agent in the headers * Uses `get` requests - + * [Basic Post Request](basic.rb) * Httparty included into poro class * Uses `post` requests @@ -36,7 +36,7 @@ * [Access Rubyurl Shortener](rubyurl.rb) * Httparty included into poro class * Uses `post` requests - + * [Add a custom log file](logging.rb) * create a log file and have httparty log requests @@ -44,23 +44,23 @@ * Httparty included into poro class * Creates methods for different endpoints * Uses `get` requests - + * [Accessing Tripit](tripit_sign_in.rb) * Httparty included into poro class * Example of using `debug_output` to see headers/urls passed * Getting and using Cookies * Uses `get` requests - + * [Accessing Twitter](twitter.rb) * Httparty included into poro class * Basic Auth - * Loads settings from a config file + * Loads settings from a config file * Uses `get` requests * Uses `post` requests - + * [Accessing WhoIsMyRep](whoismyrep.rb) * Httparty included into poro class - * Uses `get` requests + * Uses `get` requests * Two ways to pass params to get, inline on the url or in query hash * [Rescue Json Error](rescue_json.rb) diff --git a/features/steps/mongrel_helper.rb b/features/steps/mongrel_helper.rb index 3688b7e..2e1f00d 100644 --- a/features/steps/mongrel_helper.rb +++ b/features/steps/mongrel_helper.rb @@ -95,7 +95,7 @@ module DigestAuthenticationUsingMD5Sess def self.extended(base) base.custom_headers["WWW-Authenticate"] = %(Digest realm="#{REALM}",qop="#{QOP}",algorithm="MD5-sess",nonce="#{NONCE}",opaque="opaque"') end - + def process(request, response) if authorized?(request) super @@ -103,11 +103,11 @@ module DigestAuthenticationUsingMD5Sess reply_with(response, 401, "Incorrect. You have 20 seconds to comply.") end end - + def md5(str) Digest::MD5.hexdigest(str) end - + def authorized?(request) auth = request.params["HTTP_AUTHORIZATION"] params = {} diff --git a/lib/httparty.rb b/lib/httparty.rb index 7e7fca5..167d93f 100644 --- a/lib/httparty.rb +++ b/lib/httparty.rb @@ -593,7 +593,8 @@ module HTTParty def validate_format if format && parser.respond_to?(:supports_format?) && !parser.supports_format?(format) - raise UnsupportedFormat, "'#{format.inspect}' Must be one of: #{parser.supported_formats.map(&:to_s).sort.join(', ')}" + supported_format_names = parser.supported_formats.map(&:to_s).sort.join(', ') + raise UnsupportedFormat, "'#{format.inspect}' Must be one of: #{supported_format_names}" end end end diff --git a/lib/httparty/connection_adapter.rb b/lib/httparty/connection_adapter.rb index 58402f2..7a5d0eb 100644 --- a/lib/httparty/connection_adapter.rb +++ b/lib/httparty/connection_adapter.rb @@ -38,12 +38,12 @@ module HTTParty # in the #options attribute. It is up to you to interpret them within your # connection adapter. Take a look at the implementation of # HTTParty::ConnectionAdapter#connection for examples of how they are used. - # The keys used in options are + # The keys used in options are # * :+timeout+: timeout in seconds # * :+open_timeout+: http connection open_timeout in seconds, overrides timeout if set # * :+read_timeout+: http connection read_timeout in seconds, overrides timeout if set # * :+debug_output+: see HTTParty::ClassMethods.debug_output. - # * :+cert_store+: contains certificate data. see method 'attach_ssl_certificates' + # * :+cert_store+: contains certificate data. see method 'attach_ssl_certificates' # * :+pem+: contains pem client certificate data. see method 'attach_ssl_certificates' # * :+p12+: contains PKCS12 client client certificate data. see method 'attach_ssl_certificates' # * :+verify+: verify the server’s certificate against the ca certificate. @@ -91,7 +91,14 @@ module HTTParty host = clean_host(uri.host) port = uri.port || (uri.scheme == 'https' ? 443 : 80) if options.key?(:http_proxyaddr) - http = Net::HTTP.new(host, port, options[:http_proxyaddr], options[:http_proxyport], options[:http_proxyuser], options[:http_proxypass]) + http = Net::HTTP.new( + host, + port, + options[:http_proxyaddr], + options[:http_proxyport], + options[:http_proxyuser], + options[:http_proxypass] + ) else http = Net::HTTP.new(host, port) end diff --git a/lib/httparty/hash_conversions.rb b/lib/httparty/hash_conversions.rb index f32d30c..6e72664 100644 --- a/lib/httparty/hash_conversions.rb +++ b/lib/httparty/hash_conversions.rb @@ -39,7 +39,9 @@ module HTTParty if value.empty? normalized_keys << ["#{key}[]", ''] else - normalized_keys = value.to_ary.flat_map { |element| normalize_keys("#{key}[]", element) } + normalized_keys = value.to_ary.flat_map do |element| + normalize_keys("#{key}[]", element) + end end elsif value.respond_to?(:to_hash) stack << [key, value.to_hash] @@ -52,7 +54,9 @@ module HTTParty if child_value.respond_to?(:to_hash) stack << ["#{parent}[#{child_key}]", child_value.to_hash] elsif child_value.respond_to?(:to_ary) - child_value.to_ary.each { |v| normalized_keys << normalize_keys("#{parent}[#{child_key}][]", v).flatten } + child_value.to_ary.each do |v| + normalized_keys << normalize_keys("#{parent}[#{child_key}][]", v).flatten + end else normalized_keys << normalize_keys("#{parent}[#{child_key}]", child_value).flatten end diff --git a/lib/httparty/module_inheritable_attributes.rb b/lib/httparty/module_inheritable_attributes.rb index 6268564..d2f8738 100644 --- a/lib/httparty/module_inheritable_attributes.rb +++ b/lib/httparty/module_inheritable_attributes.rb @@ -9,12 +9,12 @@ module HTTParty duplicate = hash.dup duplicate.each_pair do |key, value| - duplicate[key] = if value.is_a?(Hash) - hash_deep_dup(value) + if value.is_a?(Hash) + duplicate[key] = hash_deep_dup(value) elsif value.is_a?(Proc) duplicate[key] = value.dup else - value + duplicate[key] = value end end diff --git a/lib/httparty/net_digest_auth.rb b/lib/httparty/net_digest_auth.rb index c7ca733..5e29c91 100644 --- a/lib/httparty/net_digest_auth.rb +++ b/lib/httparty/net_digest_auth.rb @@ -14,11 +14,11 @@ module Net authenticator.authorization_header.each do |v| add_field('Authorization', v) - end + end authenticator.cookie_header.each do |v| add_field('Cookie', v) - end + end end class DigestAuthenticator @@ -64,7 +64,8 @@ module Net def parse(response_header) header = response_header['www-authenticate'] - .gsub(/qop=(auth(?:-int)?)/, 'qop="\\1"') + + header = header.gsub(/qop=(auth(?:-int)?)/, 'qop="\\1"') header =~ /Digest (.*)/ params = {} @@ -113,11 +114,11 @@ module Net def algorithm_present? @response.key?('algorithm') && !@response['algorithm'].empty? end - + def use_md5_sess? algorithm_present? && @response['algorithm'] == 'MD5-sess' end - + def a1 a1_user_realm_pwd = [@username, @response['realm'], @password].join(':') if use_md5_sess? diff --git a/lib/httparty/response.rb b/lib/httparty/response.rb index 3d32772..4247a51 100644 --- a/lib/httparty/response.rb +++ b/lib/httparty/response.rb @@ -14,7 +14,11 @@ module HTTParty @headers = Headers.new(response.to_hash) if request.options[:logger] - logger = ::HTTParty::Logger.build(request.options[:logger], request.options[:log_level], request.options[:log_format]) + logger = ::HTTParty::Logger.build( + request.options[:logger], + request.options[:log_level], + request.options[:log_format] + ) logger.format(request, self) end @@ -59,10 +63,10 @@ module HTTParty response.nil? || response.body.nil? || response.body.empty? end - def to_s + def to_s if !response.nil? && !response.body.nil? && response.body.respond_to?(:to_s) response.body.to_s - else + else inspect end end @@ -80,7 +84,7 @@ module HTTParty parsed_response.display(port) elsif !response.nil? && !response.body.nil? && response.body.respond_to?(:display) response.body.display(port) - else + else port.write(inspect) end end @@ -89,7 +93,7 @@ module HTTParty return true if super parsed_response.respond_to?(name) || response.respond_to?(name) end - + protected def method_missing(name, *args, &block) diff --git a/lib/httparty/response/headers.rb b/lib/httparty/response/headers.rb index ed9ee8c..f41b167 100644 --- a/lib/httparty/response/headers.rb +++ b/lib/httparty/response/headers.rb @@ -22,10 +22,10 @@ module HTTParty end def ==(other) - if other.is_a?(::Net::HTTPHeader) + if other.is_a?(::Net::HTTPHeader) @header == other.instance_variable_get(:@header) elsif other.is_a?(Hash) - @header == other || @header == Headers.new(other).instance_variable_get(:@header) + @header == other || @header == Headers.new(other).instance_variable_get(:@header) end end end diff --git a/spec/httparty/connection_adapter_spec.rb b/spec/httparty/connection_adapter_spec.rb index c705054..ca44079 100644 --- a/spec/httparty/connection_adapter_spec.rb +++ b/spec/httparty/connection_adapter_spec.rb @@ -312,8 +312,12 @@ RSpec.describe HTTParty::ConnectionAdapter do context 'as well as proxy user and password' do let(:options) do - {http_proxyaddr: '1.2.3.4', http_proxyport: 8080, - http_proxyuser: 'user', http_proxypass: 'pass'} + { + http_proxyaddr: '1.2.3.4', + http_proxyport: 8080, + http_proxyuser: 'user', + http_proxypass: 'pass' + } end describe '#proxy_user' do diff --git a/spec/httparty/net_digest_auth_spec.rb b/spec/httparty/net_digest_auth_spec.rb index 43912f2..6ff8221 100644 --- a/spec/httparty/net_digest_auth_spec.rb +++ b/spec/httparty/net_digest_auth_spec.rb @@ -185,8 +185,8 @@ RSpec.describe Net::HTTPHeader::DigestAuthenticator do context "with http basic auth response when net digest auth expected" do it "should not fail" do @digest = setup_digest({ - 'www-authenticate' => 'WWW-Authenticate: Basic realm="testrealm.com""' - }) + 'www-authenticate' => 'WWW-Authenticate: Basic realm="testrealm.com""' + }) expect(authorization_header).to include("Digest") end @@ -232,8 +232,8 @@ RSpec.describe Net::HTTPHeader::DigestAuthenticator do context "with algorithm specified" do before do @digest = setup_digest({ - 'www-authenticate' => 'Digest realm="myhost@testrealm.com", nonce="NONCE", qop="auth", algorithm=MD5' - }) + 'www-authenticate' => 'Digest realm="myhost@testrealm.com", nonce="NONCE", qop="auth", algorithm=MD5' + }) end it "should recognise algorithm was specified" do @@ -248,8 +248,8 @@ RSpec.describe Net::HTTPHeader::DigestAuthenticator do context "with md5-sess algorithm specified" do before do @digest = setup_digest({ - 'www-authenticate' => 'Digest realm="myhost@testrealm.com", nonce="NONCE", qop="auth", algorithm=MD5-sess' - }) + 'www-authenticate' => 'Digest realm="myhost@testrealm.com", nonce="NONCE", qop="auth", algorithm=MD5-sess' + }) end it "should recognise algorithm was specified" do diff --git a/spec/httparty/response_spec.rb b/spec/httparty/response_spec.rb index aca9694..b4d7a26 100644 --- a/spec/httparty/response_spec.rb +++ b/spec/httparty/response_spec.rb @@ -299,10 +299,10 @@ RSpec.describe HTTParty::Response do 'Content-Encoding' => 'meow'} end let (:some_headers) do - HTTParty::Response::Headers.new.tap do |h| - some_headers_hash.each_pair do |k,v| - h[k] = v - end + HTTParty::Response::Headers.new.tap do |h| + some_headers_hash.each_pair do |k,v| + h[k] = v + end end end it "can initialize without headers" do diff --git a/website/css/common.css b/website/css/common.css index 61f38ac..1467d23 100644 --- a/website/css/common.css +++ b/website/css/common.css @@ -8,7 +8,7 @@ body {font:13px arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}pre, code {font:115% monospace;*font-size:100%;}body * {line-height:1.22em;} body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}/*ol,ul {list-style:none;}*/caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;} /* end of yahoo reset and fonts */ - + body {color:#333; background:#4b1a1a; line-height:1.3;} p {margin:0 0 20px;} a {color:#4b1a1a;}