# File lib/faraday/adapter/typhoeus.rb, line 16
      def call(env)
        process_body_for_request(env)

        hydra = env[:parallel_manager] || self.class.setup_parallel_manager
        req   = ::Typhoeus::Request.new env[:url].to_s, 
          :method  => env[:method],
          :body    => env[:body],
          :headers => env[:request_headers],
          :disable_ssl_peer_verification => (env[:ssl][:verify] == false)

        req.on_complete do |resp|
          env.update \
            :status           => resp.code,
            :response_headers => parse_response_headers(resp.headers),
            :body             => resp.body
          env[:response].finish(env)
        end

        hydra.queue req

        if !env[:parallel_manager]
          hydra.run
        end

        @app.call env
      rescue Errno::ECONNREFUSED
        raise Error::ConnectionFailed, "connection refused"
      end