# File lib/s3/right_s3_interface.rb, line 556
    def retrieve_object(params, &block)
      AwsUtils.mandatory_arguments([:bucket, :key], params)
      AwsUtils.allow_only([:bucket, :key, :headers, :md5], params)
      params[:headers] = {} unless params[:headers]
      req_hash = generate_rest_request('GET', params[:headers].merge(:url=>"#{params[:bucket]}/#{CGI::escape params[:key]}"))
      resp = request_info(req_hash, S3HttpResponseBodyParser.new, &block)
      resp[:verified_md5] = false
      if(params[:md5] && (resp[:headers]['etag'].gsub(/\"/,'') == params[:md5]))
        resp[:verified_md5] = true
      end
      resp
    rescue
      on_exception
    end