Sha256: 85f0cb4c5af3eda158f0903b4e8b5923ccffe1ef2a578267b669a511009fe5c0

Contents?: true

Size: 1.2 KB

Versions: 6

Compression:

Stored size: 1.2 KB

Contents

module WWW
  class Mechanize
    class Chain
      class ResponseReader
        include WWW::Handler

        def initialize(response)
          @response = response
        end

        def handle(ctx, params)
          params[:response] = @response
          body = StringIO.new
          total = 0
          @response.read_body { |part|
            total += part.length
            body.write(part)
            Mechanize.log.debug("Read #{total} bytes") if Mechanize.log
          }
          body.rewind

          res_klass = Net::HTTPResponse::CODE_TO_OBJ[@response.code.to_s]
          raise ResponseCodeError.new(@response) unless res_klass

          # Net::HTTP ignores EOFError if Content-length is given, so we emulate it here.
          # unless res_klass <= Net::HTTPRedirection
          #   raise EOFError if (!params[:request].is_a?(Net::HTTP::Head)) && @response.content_length() && @response.content_length() != total
          # end
  
          @response.each_header { |k,v|
            Mechanize.log.debug("response-header: #{ k } => #{ v }")
          } if Mechanize.log

          params[:response_body] = body
          params[:res_klass] = res_klass
          super
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
pirate-autonzb-0.5.0 lib/sites/nzbs/mechanize_hack.rb
pirate-autonzb-0.5.1 lib/sites/nzbs/mechanize_hack.rb
pirate-autonzb-0.5.2 lib/sites/nzbs/mechanize_hack.rb
autonzb-0.5.5 lib/sites/nzbs/mechanize_hack.rb
autonzb-0.5.4 lib/sites/nzbs/mechanize_hack.rb
AutoNZB-0.5.4 lib/sites/nzbs/mechanize_hack.rb