httpi 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +11 -0
- data/httpi.gemspec +1 -1
- data/lib/httpi/adapter.rb +0 -4
- data/lib/httpi/adapter/httpclient.rb +1 -1
- data/lib/httpi/adapter/net_http.rb +7 -7
- data/lib/httpi/version.rb +1 -1
- data/spec/httpi/adapter/curb_spec.rb +14 -14
- data/spec/httpi/adapter/httpclient_spec.rb +3 -1
- data/spec/httpi/adapter/net_http_spec.rb +20 -15
- data/spec/support/matchers.rb +11 -3
- metadata +8 -8
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,14 @@ | |
| 1 | 
            +
            ## 0.9.3 (2010-04-28)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * Fix: [issue 31](https://github.com/rubiii/httpi/issues/31) missing headers when using httpclient.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Fix: [issue 30](https://github.com/rubiii/httpi/issues/30) fix for using SSL with Net::HTTP.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ## 0.9.2 (2011-04-05)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * Fix: issues [161](https://github.com/rubiii/savon/issues/161) and [165](https://github.com/rubiii/savon/issues/165)
         | 
| 10 | 
            +
              reported at [rubiii/savon](https://github.com/rubiii/savon).
         | 
| 11 | 
            +
             | 
| 1 12 | 
             
            ## 0.9.1 (2011-04-04)
         | 
| 2 13 |  | 
| 3 14 | 
             
            * Fix: [issue 25](https://github.com/rubiii/httpi/issues/22) problem with HTTPI using the Net::HTTP adapter [hakanensari].
         | 
    
        data/httpi.gemspec
    CHANGED
    
    | @@ -17,7 +17,7 @@ Gem::Specification.new do |s| | |
| 17 17 | 
             
              s.add_dependency "rack"
         | 
| 18 18 | 
             
              s.add_dependency "ntlm-http", ">= 0.1.1"
         | 
| 19 19 |  | 
| 20 | 
            -
              s.add_development_dependency "httpclient", "~> 2.1. | 
| 20 | 
            +
              s.add_development_dependency "httpclient", "~> 2.1.7"
         | 
| 21 21 | 
             
              s.add_development_dependency "curb", "~> 0.7.8"
         | 
| 22 22 |  | 
| 23 23 | 
             
              s.add_development_dependency "rspec", "~> 2.2"
         | 
    
        data/lib/httpi/adapter.rb
    CHANGED
    
    | @@ -48,10 +48,6 @@ module HTTPI | |
| 48 48 | 
             
                  end
         | 
| 49 49 |  | 
| 50 50 | 
             
                  def default_adapter
         | 
| 51 | 
            -
                    return :httpclient if defined?(::HTTPClient)
         | 
| 52 | 
            -
                    return :curb if defined?(::Curl::Easy)
         | 
| 53 | 
            -
                    return :net_http if defined?(::Net::HTTP)
         | 
| 54 | 
            -
             | 
| 55 51 | 
             
                    DEPENDENCIES.each do |(adapter, dependencies)|
         | 
| 56 52 | 
             
                      begin
         | 
| 57 53 | 
             
                        dependencies.each { |dependency| require dependency }
         | 
| @@ -9,7 +9,7 @@ module HTTPI | |
| 9 9 | 
             
                # Adapter for the Net::HTTP client.
         | 
| 10 10 | 
             
                # http://ruby-doc.org/stdlib/libdoc/net/http/rdoc/
         | 
| 11 11 | 
             
                class NetHTTP
         | 
| 12 | 
            -
             | 
| 12 | 
            +
             | 
| 13 13 | 
             
                  def initialize(request)
         | 
| 14 14 | 
             
                    self.client = new_client request
         | 
| 15 15 | 
             
                  end
         | 
| @@ -70,7 +70,7 @@ module HTTPI | |
| 70 70 | 
             
                  def do_request(type, request)
         | 
| 71 71 | 
             
                    setup_client request
         | 
| 72 72 | 
             
                    setup_ssl_auth request.auth.ssl if request.auth.ssl?
         | 
| 73 | 
            -
             | 
| 73 | 
            +
             | 
| 74 74 | 
             
                    respond_with(client.start do |http|
         | 
| 75 75 | 
             
                      yield http, request_client(type, request)
         | 
| 76 76 | 
             
                    end)
         | 
| @@ -88,7 +88,6 @@ module HTTPI | |
| 88 88 | 
             
                    client.ca_file = ssl.ca_cert_file if ssl.ca_cert_file
         | 
| 89 89 | 
             
                    client.verify_mode = ssl.openssl_verify_mode
         | 
| 90 90 | 
             
                  end
         | 
| 91 | 
            -
                  
         | 
| 92 91 |  | 
| 93 92 | 
             
                  def request_client(type, request)
         | 
| 94 93 | 
             
                    request_class = case type
         | 
| @@ -98,20 +97,21 @@ module HTTPI | |
| 98 97 | 
             
                      when :put    then Net::HTTP::Put
         | 
| 99 98 | 
             
                      when :delete then Net::HTTP::Delete
         | 
| 100 99 | 
             
                    end
         | 
| 101 | 
            -
             | 
| 100 | 
            +
             | 
| 102 101 | 
             
                    request_client = request_class.new request.url.request_uri, request.headers
         | 
| 103 | 
            -
             | 
| 102 | 
            +
             | 
| 104 103 | 
             
                    request_client.basic_auth *request.auth.credentials if request.auth.basic?
         | 
| 105 104 | 
             
                    request_client.ntlm_auth *request.auth.credentials if request.auth.ntlm?
         | 
| 106 | 
            -
             | 
| 105 | 
            +
             | 
| 107 106 | 
             
                    request_client
         | 
| 108 107 | 
             
                  end
         | 
| 109 108 |  | 
| 110 109 | 
             
                  def respond_with(response)
         | 
| 111 110 | 
             
                    headers = response.to_hash
         | 
| 112 | 
            -
                    headers.each {| | 
| 111 | 
            +
                    headers.each { |key, value| headers[key] = value[0] }
         | 
| 113 112 | 
             
                    Response.new response.code, headers, response.body
         | 
| 114 113 | 
             
                  end
         | 
| 114 | 
            +
             | 
| 115 115 | 
             
                end
         | 
| 116 116 | 
             
              end
         | 
| 117 117 | 
             
            end
         | 
    
        data/lib/httpi/version.rb
    CHANGED
    
    
| @@ -12,7 +12,7 @@ describe HTTPI::Adapter::Curb do | |
| 12 12 | 
             
                before do
         | 
| 13 13 | 
             
                  curb.expects(:http_get)
         | 
| 14 14 | 
             
                  curb.expects(:response_code).returns(200)
         | 
| 15 | 
            -
                  curb.expects(:header_str).returns("")
         | 
| 15 | 
            +
                  curb.expects(:header_str).returns("Accept-encoding: utf-8")
         | 
| 16 16 | 
             
                  curb.expects(:body_str).returns(Fixture.xml)
         | 
| 17 17 | 
             
                end
         | 
| 18 18 |  | 
| @@ -25,7 +25,7 @@ describe HTTPI::Adapter::Curb do | |
| 25 25 | 
             
                before do
         | 
| 26 26 | 
             
                  curb.expects(:http_post)
         | 
| 27 27 | 
             
                  curb.expects(:response_code).returns(200)
         | 
| 28 | 
            -
                  curb.expects(:header_str).returns("")
         | 
| 28 | 
            +
                  curb.expects(:header_str).returns("Accept-encoding: utf-8")
         | 
| 29 29 | 
             
                  curb.expects(:body_str).returns(Fixture.xml)
         | 
| 30 30 | 
             
                end
         | 
| 31 31 |  | 
| @@ -45,7 +45,7 @@ describe HTTPI::Adapter::Curb do | |
| 45 45 | 
             
                before do
         | 
| 46 46 | 
             
                  curb.expects(:http_head)
         | 
| 47 47 | 
             
                  curb.expects(:response_code).returns(200)
         | 
| 48 | 
            -
                  curb.expects(:header_str).returns("")
         | 
| 48 | 
            +
                  curb.expects(:header_str).returns("Accept-encoding: utf-8")
         | 
| 49 49 | 
             
                  curb.expects(:body_str).returns(Fixture.xml)
         | 
| 50 50 | 
             
                end
         | 
| 51 51 |  | 
| @@ -58,7 +58,7 @@ describe HTTPI::Adapter::Curb do | |
| 58 58 | 
             
                before do
         | 
| 59 59 | 
             
                  curb.expects(:http_put)
         | 
| 60 60 | 
             
                  curb.expects(:response_code).returns(200)
         | 
| 61 | 
            -
                  curb.expects(:header_str).returns("")
         | 
| 61 | 
            +
                  curb.expects(:header_str).returns("Accept-encoding: utf-8")
         | 
| 62 62 | 
             
                  curb.expects(:body_str).returns(Fixture.xml)
         | 
| 63 63 | 
             
                end
         | 
| 64 64 |  | 
| @@ -78,7 +78,7 @@ describe HTTPI::Adapter::Curb do | |
| 78 78 | 
             
                before do
         | 
| 79 79 | 
             
                  curb.expects(:http_delete)
         | 
| 80 80 | 
             
                  curb.expects(:response_code).returns(200)
         | 
| 81 | 
            -
                  curb.expects(:header_str).returns("")
         | 
| 81 | 
            +
                  curb.expects(:header_str).returns("Accept-encoding: utf-8")
         | 
| 82 82 | 
             
                  curb.expects(:body_str).returns("")
         | 
| 83 83 | 
             
                end
         | 
| 84 84 |  | 
| @@ -105,7 +105,7 @@ describe HTTPI::Adapter::Curb do | |
| 105 105 |  | 
| 106 106 | 
             
                  it "should be set if specified" do
         | 
| 107 107 | 
             
                    request = basic_request { |request| request.proxy = "http://proxy.example.com" }
         | 
| 108 | 
            -
             | 
| 108 | 
            +
             | 
| 109 109 | 
             
                    curb.expects(:proxy_url=).with(request.proxy.to_s)
         | 
| 110 110 | 
             
                    adapter.get(request)
         | 
| 111 111 | 
             
                  end
         | 
| @@ -156,14 +156,14 @@ describe HTTPI::Adapter::Curb do | |
| 156 156 | 
             
                describe "http_auth_types" do
         | 
| 157 157 | 
             
                  it "should be set to :basic for HTTP basic auth" do
         | 
| 158 158 | 
             
                    request = basic_request { |request| request.auth.basic "username", "password" }
         | 
| 159 | 
            -
             | 
| 159 | 
            +
             | 
| 160 160 | 
             
                    curb.expects(:http_auth_types=).with(:basic)
         | 
| 161 161 | 
             
                    adapter.get(request)
         | 
| 162 162 | 
             
                  end
         | 
| 163 163 |  | 
| 164 164 | 
             
                  it "should be set to :digest for HTTP digest auth" do
         | 
| 165 165 | 
             
                    request = basic_request { |request| request.auth.digest "username", "password" }
         | 
| 166 | 
            -
             | 
| 166 | 
            +
             | 
| 167 167 | 
             
                    curb.expects(:http_auth_types=).with(:digest)
         | 
| 168 168 | 
             
                    adapter.get(request)
         | 
| 169 169 | 
             
                  end
         | 
| @@ -172,7 +172,7 @@ describe HTTPI::Adapter::Curb do | |
| 172 172 | 
             
                describe "username and password" do
         | 
| 173 173 | 
             
                  it "should be set for HTTP basic auth" do
         | 
| 174 174 | 
             
                    request = basic_request { |request| request.auth.basic "username", "password" }
         | 
| 175 | 
            -
             | 
| 175 | 
            +
             | 
| 176 176 | 
             
                    curb.expects(:username=).with("username")
         | 
| 177 177 | 
             
                    curb.expects(:password=).with("password")
         | 
| 178 178 | 
             
                    adapter.get(request)
         | 
| @@ -180,7 +180,7 @@ describe HTTPI::Adapter::Curb do | |
| 180 180 |  | 
| 181 181 | 
             
                  it "should be set for HTTP digest auth" do
         | 
| 182 182 | 
             
                    request = basic_request { |request| request.auth.digest "username", "password" }
         | 
| 183 | 
            -
             | 
| 183 | 
            +
             | 
| 184 184 | 
             
                    curb.expects(:username=).with("username")
         | 
| 185 185 | 
             
                    curb.expects(:password=).with("password")
         | 
| 186 186 | 
             
                    adapter.get(request)
         | 
| @@ -200,21 +200,21 @@ describe HTTPI::Adapter::Curb do | |
| 200 200 | 
             
                    curb.expects(:cert=).with(ssl_auth_request.auth.ssl.cert_file)
         | 
| 201 201 | 
             
                    curb.expects(:ssl_verify_peer=).with(true)
         | 
| 202 202 | 
             
                    curb.expects(:certtype=).with(ssl_auth_request.auth.ssl.cert_type.to_s.upcase)
         | 
| 203 | 
            -
             | 
| 203 | 
            +
             | 
| 204 204 | 
             
                    adapter.get(ssl_auth_request)
         | 
| 205 205 | 
             
                  end
         | 
| 206 | 
            -
             | 
| 206 | 
            +
             | 
| 207 207 | 
             
                  it "should set the cert_type to DER if specified" do
         | 
| 208 208 | 
             
                    ssl_auth_request.auth.ssl.cert_type = :der
         | 
| 209 209 | 
             
                    curb.expects(:certtype=).with(:der.to_s.upcase)
         | 
| 210 | 
            -
             | 
| 210 | 
            +
             | 
| 211 211 | 
             
                    adapter.get(ssl_auth_request)
         | 
| 212 212 | 
             
                  end
         | 
| 213 213 |  | 
| 214 214 | 
             
                  it "should set the cacert if specified" do
         | 
| 215 215 | 
             
                    ssl_auth_request.auth.ssl.ca_cert_file = "spec/fixtures/client_cert.pem"
         | 
| 216 216 | 
             
                    curb.expects(:cacert=).with(ssl_auth_request.auth.ssl.ca_cert_file)
         | 
| 217 | 
            -
             | 
| 217 | 
            +
             | 
| 218 218 | 
             
                    adapter.get(ssl_auth_request)
         | 
| 219 219 | 
             
                  end
         | 
| 220 220 | 
             
                end
         | 
| @@ -150,7 +150,9 @@ describe HTTPI::Adapter::HTTPClient do | |
| 150 150 | 
             
              end
         | 
| 151 151 |  | 
| 152 152 | 
             
              def http_message(body = Fixture.xml)
         | 
| 153 | 
            -
                HTTP::Message.new_response body
         | 
| 153 | 
            +
                message = HTTP::Message.new_response body
         | 
| 154 | 
            +
                message.header.set "Accept-encoding", "utf-8"
         | 
| 155 | 
            +
                message
         | 
| 154 156 | 
             
              end
         | 
| 155 157 |  | 
| 156 158 | 
             
              def basic_request
         | 
| @@ -4,6 +4,7 @@ require "httpi/request" | |
| 4 4 |  | 
| 5 5 | 
             
            describe HTTPI::Adapter::NetHTTP do
         | 
| 6 6 | 
             
              let(:net_http) { Net::HTTP.any_instance }
         | 
| 7 | 
            +
              let(:basic_response) { { :body => Fixture.xml, :headers => { "Accept-encoding" => "utf-8" } } }
         | 
| 7 8 |  | 
| 8 9 | 
             
              def adapter(request)
         | 
| 9 10 | 
             
                @adapter ||= HTTPI::Adapter::NetHTTP.new request
         | 
| @@ -11,7 +12,7 @@ describe HTTPI::Adapter::NetHTTP do | |
| 11 12 |  | 
| 12 13 | 
             
              describe "#get" do
         | 
| 13 14 | 
             
                it "should return a valid HTTPI::Response" do
         | 
| 14 | 
            -
                  stub_request(:get, basic_request.url.to_s).to_return( | 
| 15 | 
            +
                  stub_request(:get, basic_request.url.to_s).to_return(basic_response)
         | 
| 15 16 | 
             
                  adapter(basic_request).get(basic_request).should match_response(:body => Fixture.xml)
         | 
| 16 17 | 
             
                end
         | 
| 17 18 | 
             
              end
         | 
| @@ -19,32 +20,36 @@ describe HTTPI::Adapter::NetHTTP do | |
| 19 20 | 
             
              describe "#post" do
         | 
| 20 21 | 
             
                it "should return a valid HTTPI::Response" do
         | 
| 21 22 | 
             
                  request = HTTPI::Request.new :url => "http://example.com", :body => Fixture.xml
         | 
| 22 | 
            -
                  stub_request(:post, request.url.to_s).with(:body => request.body).to_return( | 
| 23 | 
            -
             | 
| 23 | 
            +
                  stub_request(:post, request.url.to_s).with(:body => request.body).to_return(basic_response)
         | 
| 24 | 
            +
             | 
| 24 25 | 
             
                  adapter(request).post(request).should match_response(:body => Fixture.xml)
         | 
| 25 26 | 
             
                end
         | 
| 26 27 | 
             
              end
         | 
| 27 28 |  | 
| 28 29 | 
             
              describe "#head" do
         | 
| 29 30 | 
             
                it "should return a valid HTTPI::Response" do
         | 
| 30 | 
            -
                  stub_request(:head, basic_request.url.to_s).to_return( | 
| 31 | 
            +
                  stub_request(:head, basic_request.url.to_s).to_return(basic_response)
         | 
| 31 32 | 
             
                  adapter(basic_request).head(basic_request).should match_response(:body => Fixture.xml)
         | 
| 32 33 | 
             
                end
         | 
| 33 34 | 
             
              end
         | 
| 34 35 |  | 
| 35 36 | 
             
              describe "#put" do
         | 
| 36 37 | 
             
                it "should return a valid HTTPI::Response" do
         | 
| 37 | 
            -
                  request = HTTPI::Request.new | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 38 | 
            +
                  request = HTTPI::Request.new(
         | 
| 39 | 
            +
                    :url     => "http://example.com",
         | 
| 40 | 
            +
                    :headers => { "Accept-encoding" => "utf-8" },
         | 
| 41 | 
            +
                    :body    => Fixture.xml
         | 
| 42 | 
            +
                  )
         | 
| 43 | 
            +
                  stub_request(:put, request.url.to_s).with(:body => request.body).to_return(basic_response)
         | 
| 44 | 
            +
             | 
| 40 45 | 
             
                  adapter(request).put(request).should match_response(:body => Fixture.xml)
         | 
| 41 46 | 
             
                end
         | 
| 42 47 | 
             
              end
         | 
| 43 48 |  | 
| 44 49 | 
             
              describe "#delete" do
         | 
| 45 50 | 
             
                it "should return a valid HTTPI::Response" do
         | 
| 46 | 
            -
                  stub_request(:delete, basic_request.url.to_s)
         | 
| 47 | 
            -
                  adapter(basic_request).delete(basic_request).should match_response(:body =>  | 
| 51 | 
            +
                  stub_request(:delete, basic_request.url.to_s).to_return(basic_response)
         | 
| 52 | 
            +
                  adapter(basic_request).delete(basic_request).should match_response(:body => Fixture.xml)
         | 
| 48 53 | 
             
                end
         | 
| 49 54 | 
             
              end
         | 
| 50 55 |  | 
| @@ -59,7 +64,7 @@ describe HTTPI::Adapter::NetHTTP do | |
| 59 64 |  | 
| 60 65 | 
             
                  it "should be set to true for SSL requests" do
         | 
| 61 66 | 
             
                    request = basic_request { |request| request.ssl = true }
         | 
| 62 | 
            -
             | 
| 67 | 
            +
             | 
| 63 68 | 
             
                    net_http.expects(:use_ssl=).with(true)
         | 
| 64 69 | 
             
                    adapter(request).get(request)
         | 
| 65 70 | 
             
                  end
         | 
| @@ -73,7 +78,7 @@ describe HTTPI::Adapter::NetHTTP do | |
| 73 78 |  | 
| 74 79 | 
             
                  it "should be set if specified" do
         | 
| 75 80 | 
             
                    request = basic_request { |request| request.open_timeout = 30 }
         | 
| 76 | 
            -
             | 
| 81 | 
            +
             | 
| 77 82 | 
             
                    net_http.expects(:open_timeout=).with(30)
         | 
| 78 83 | 
             
                    adapter(request).get(request)
         | 
| 79 84 | 
             
                  end
         | 
| @@ -87,7 +92,7 @@ describe HTTPI::Adapter::NetHTTP do | |
| 87 92 |  | 
| 88 93 | 
             
                  it "should be set if specified" do
         | 
| 89 94 | 
             
                    request = basic_request { |request| request.read_timeout = 30 }
         | 
| 90 | 
            -
             | 
| 95 | 
            +
             | 
| 91 96 | 
             
                    net_http.expects(:read_timeout=).with(30)
         | 
| 92 97 | 
             
                    adapter(request).get(request)
         | 
| 93 98 | 
             
                  end
         | 
| @@ -96,7 +101,7 @@ describe HTTPI::Adapter::NetHTTP do | |
| 96 101 | 
             
                describe "basic_auth" do
         | 
| 97 102 | 
             
                  it "should be set for HTTP basic auth" do
         | 
| 98 103 | 
             
                    request = basic_request { |request| request.auth.basic "username", "password" }
         | 
| 99 | 
            -
             | 
| 104 | 
            +
             | 
| 100 105 | 
             
                    stub_request(:get, "http://username:password@example.com")
         | 
| 101 106 | 
             
                    Net::HTTP::Get.any_instance.expects(:basic_auth).with(*request.auth.credentials)
         | 
| 102 107 | 
             
                    adapter(request).get(request)
         | 
| @@ -115,14 +120,14 @@ describe HTTPI::Adapter::NetHTTP do | |
| 115 120 | 
             
                    net_http.expects(:cert=).with(ssl_auth_request.auth.ssl.cert)
         | 
| 116 121 | 
             
                    net_http.expects(:key=).with(ssl_auth_request.auth.ssl.cert_key)
         | 
| 117 122 | 
             
                    net_http.expects(:verify_mode=).with(ssl_auth_request.auth.ssl.openssl_verify_mode)
         | 
| 118 | 
            -
             | 
| 123 | 
            +
             | 
| 119 124 | 
             
                    adapter(ssl_auth_request).get(ssl_auth_request)
         | 
| 120 125 | 
             
                  end
         | 
| 121 126 |  | 
| 122 127 | 
             
                  it "should set the client_ca if specified" do
         | 
| 123 128 | 
             
                    ssl_auth_request.auth.ssl.ca_cert_file = "spec/fixtures/client_cert.pem"
         | 
| 124 129 | 
             
                    net_http.expects(:ca_file=).with(ssl_auth_request.auth.ssl.ca_cert_file)
         | 
| 125 | 
            -
             | 
| 130 | 
            +
             | 
| 126 131 | 
             
                    adapter(ssl_auth_request).get(ssl_auth_request)
         | 
| 127 132 | 
             
                  end
         | 
| 128 133 | 
             
                end
         | 
    
        data/spec/support/matchers.rb
    CHANGED
    
    | @@ -1,11 +1,19 @@ | |
| 1 1 | 
             
            RSpec::Matchers.define :match_response do |options|
         | 
| 2 | 
            -
              defaults = { :code => 200, :headers => {}, :body => "" }
         | 
| 2 | 
            +
              defaults = { :code => 200, :headers => { "Accept-encoding" => "utf-8" }, :body => "" }
         | 
| 3 3 | 
             
              response = defaults.merge options
         | 
| 4 | 
            -
             | 
| 4 | 
            +
             | 
| 5 5 | 
             
              match do |actual|
         | 
| 6 6 | 
             
                actual.should be_an(HTTPI::Response)
         | 
| 7 7 | 
             
                actual.code.should == response[:code]
         | 
| 8 | 
            -
                actual.headers.should == response[:headers]
         | 
| 8 | 
            +
                downcase(actual.headers).should == downcase(response[:headers])
         | 
| 9 9 | 
             
                actual.body.should == response[:body]
         | 
| 10 10 | 
             
              end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              def downcase(hash)
         | 
| 13 | 
            +
                hash.inject({}) do |memo, (key, value)|
         | 
| 14 | 
            +
                  memo[key.downcase] = value.downcase
         | 
| 15 | 
            +
                  memo
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
             | 
| 11 19 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: httpi
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 61
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 9
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.9. | 
| 9 | 
            +
              - 3
         | 
| 10 | 
            +
              version: 0.9.3
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Daniel Harrington
         | 
| @@ -16,7 +16,7 @@ autorequire: | |
| 16 16 | 
             
            bindir: bin
         | 
| 17 17 | 
             
            cert_chain: []
         | 
| 18 18 |  | 
| 19 | 
            -
            date: 2011-04- | 
| 19 | 
            +
            date: 2011-04-28 00:00:00 +02:00
         | 
| 20 20 | 
             
            default_executable: 
         | 
| 21 21 | 
             
            dependencies: 
         | 
| 22 22 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -57,12 +57,12 @@ dependencies: | |
| 57 57 | 
             
                requirements: 
         | 
| 58 58 | 
             
                - - ~>
         | 
| 59 59 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 60 | 
            -
                    hash:  | 
| 60 | 
            +
                    hash: 5
         | 
| 61 61 | 
             
                    segments: 
         | 
| 62 62 | 
             
                    - 2
         | 
| 63 63 | 
             
                    - 1
         | 
| 64 | 
            -
                    -  | 
| 65 | 
            -
                    version: 2.1. | 
| 64 | 
            +
                    - 7
         | 
| 65 | 
            +
                    version: 2.1.7
         | 
| 66 66 | 
             
              type: :development
         | 
| 67 67 | 
             
              version_requirements: *id003
         | 
| 68 68 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -224,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 224 224 | 
             
            requirements: []
         | 
| 225 225 |  | 
| 226 226 | 
             
            rubyforge_project: httpi
         | 
| 227 | 
            -
            rubygems_version: 1.4. | 
| 227 | 
            +
            rubygems_version: 1.4.1
         | 
| 228 228 | 
             
            signing_key: 
         | 
| 229 229 | 
             
            specification_version: 3
         | 
| 230 230 | 
             
            summary: Interface for Ruby HTTP libraries
         |