    # File lib/rubygems/server.rb, line 581
      def specs(req, res)
        @source_index.refresh!

        res['date'] = File.stat(@spec_dir).mtime

        specs = @source_index.sort.map do |_, spec|
          platform = spec.original_platform
          platform = Gem::Platform::RUBY if platform.nil?
          [spec.name, spec.version, platform]
        end

        specs = Marshal.dump specs

        if req.path =~ /\.gz$/ then
          specs = Gem.gzip specs
          res['content-type'] = 'application/x-gzip'
        else
          res['content-type'] = 'application/octet-stream'
        end

        if req.request_method == 'HEAD' then
          res['content-length'] = specs.length
        else
          res.body << specs
        end
      end