Sha256: 0b3f5591833be0152f52607803f6ab4c76e756f3858a372882bc741ab924bb35

Contents?: true

Size: 1.39 KB

Versions: 14

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

module Mihari
  module Analyzers
    #
    # Feed analyzer
    #
    class Feed < Base
      # @return [Hash, nil]
      attr_reader :form

      # @return [Hash, nil]
      attr_reader :json

      # @return [Hash, nil]
      attr_reader :params

      # @return [Hash]
      attr_reader :headers

      # @return [String]
      attr_reader :method

      # @return [String]
      attr_reader :selector

      # @return [String]
      attr_reader :query

      #
      # @param [String] query
      # @param [Hash, nil] options
      # @param [String] method
      # @param [Hash, nil] headers
      # @param [Hash, nil] params
      # @param [Hash, nil] json
      # @param [form, nil] form
      # @param [String] selector
      #
      # @param [Object] url
      def initialize(url, options: nil, method: "GET", headers: nil, params: nil, json: nil, form: nil, selector: "")
        super(url, options: options)

        @method = method
        @headers = headers || {}
        @params = params
        @json = json
        @form = form
        @selector = selector
      end

      def artifacts
        data = Services::FeedReader.call(
          url, headers: headers, method: method, params: params, json: json, form: form, timeout: timeout
        )
        Services::FeedParser.call(data, selector)
      end

      private

      def url
        query
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
mihari-7.3.2 lib/mihari/analyzers/feed.rb
mihari-7.3.1 lib/mihari/analyzers/feed.rb
mihari-7.3.0 lib/mihari/analyzers/feed.rb
mihari-7.2.0 lib/mihari/analyzers/feed.rb
mihari-7.1.3 lib/mihari/analyzers/feed.rb
mihari-7.1.2 lib/mihari/analyzers/feed.rb
mihari-7.1.1 lib/mihari/analyzers/feed.rb
mihari-7.1.0 lib/mihari/analyzers/feed.rb
mihari-7.0.5 lib/mihari/analyzers/feed.rb
mihari-7.0.4 lib/mihari/analyzers/feed.rb
mihari-7.0.3 lib/mihari/analyzers/feed.rb
mihari-7.0.2 lib/mihari/analyzers/feed.rb
mihari-7.0.1 lib/mihari/analyzers/feed.rb
mihari-7.0.0 lib/mihari/analyzers/feed.rb