Sha256: b3a11437329268ed35e536e7625858a2cfdc83a0a8eeb146f25aa54aa78f92a3

Contents?: true

Size: 1.22 KB

Versions: 19

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

module CMSScanner
  module Model
    # Interesting Headers
    class Headers < InterestingFinding
      # @return [ Hash ] The headers
      def entries
        res = NS::Browser.get(url)
        return [] unless res&.headers

        res.headers
      end

      # @return [ Array<String> ] The interesting headers detected
      def interesting_entries
        results = []

        entries.each do |header, value|
          next if known_headers.include?(header.downcase)

          results << "#{header}: #{Array(value).join(', ')}"
        end
        results
      end

      # @return [ Array<String> ] Downcased known headers
      def known_headers
        %w[
          age accept-ranges cache-control content-encoding content-length content-type connection date
          etag expires keep-alive location last-modified link pragma set-cookie strict-transport-security
          transfer-encoding vary x-cache x-content-security-policy x-content-type-options
          x-frame-options x-language x-permitted-cross-domain-policies x-pingback x-varnish
          x-webkit-csp x-xss-protection
        ]
      end

      # @return [ String ]
      def to_s
        @to_s ||= 'Headers'
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 3 rubygems

Version Path
cms_scanner-0.15.0 app/models/headers.rb
cms_scanner-0.14.3 app/models/headers.rb
cms_scanner-0.14.2 app/models/headers.rb
cms_scanner-0.13.9 app/models/headers.rb
cms_scanner-0.13.8 app/models/headers.rb
new_cms_scanner-0.13.7 app/models/headers.rb
k8s_cms_scanner-0.1.0 app/models/headers.rb
cms_scanner-0.13.7 app/models/headers.rb
cms_scanner-0.13.6 app/models/headers.rb
cms_scanner-0.13.5 app/models/headers.rb
cms_scanner-0.13.4 app/models/headers.rb
cms_scanner-0.13.3 app/models/headers.rb
cms_scanner-0.13.2 app/models/headers.rb
cms_scanner-0.13.1 app/models/headers.rb
cms_scanner-0.13.0 app/models/headers.rb
cms_scanner-0.12.2 app/models/headers.rb
cms_scanner-0.12.1 app/models/headers.rb
cms_scanner-0.12.0 app/models/headers.rb
cms_scanner-0.11.0 app/models/headers.rb