This file is indexed.

/usr/lib/ruby/vendor_ruby/ethon/multi/options.rb is in ruby-ethon 0.7.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
module Ethon
  class Multi

    # This module contains the logic and knowledge about the
    # available options on multi.
    module Options

      # Sets max_total_connections option.
      #
      # @example Set max_total_connections option.
      #   easy.max_total_conections = $value
      #
      # @param [ String ] value The value to set.
      #
      # @return [ void ]
      def max_total_connections=(value)
        Curl.set_option(:max_total_connections, value_for(value, :int), handle, :multi)
      end

      # Sets maxconnects option.
      #
      # @example Set maxconnects option.
      #   easy.maxconnects = $value
      #
      # @param [ String ] value The value to set.
      #
      # @return [ void ]
      def maxconnects=(value)
        Curl.set_option(:maxconnects, value_for(value, :int), handle, :multi)
      end

      # Sets pipelining option.
      #
      # @example Set pipelining option.
      #   easy.pipelining = $value
      #
      # @param [ String ] value The value to set.
      #
      # @return [ void ]
      def pipelining=(value)
        Curl.set_option(:pipelining, value_for(value, :bool), handle, :multi)
      end

      # Sets socketdata option.
      #
      # @example Set socketdata option.
      #   easy.socketdata = $value
      #
      # @param [ String ] value The value to set.
      #
      # @return [ void ]
      def socketdata=(value)
        Curl.set_option(:socketdata, value_for(value, :string), handle, :multi)
      end

      # Sets socketfunction option.
      #
      # @example Set socketfunction option.
      #   easy.socketfunction = $value
      #
      # @param [ String ] value The value to set.
      #
      # @return [ void ]
      def socketfunction=(value)
        Curl.set_option(:socketfunction, value_for(value, :string), handle, :multi)
      end

      # Sets timerdata option.
      #
      # @example Set timerdata option.
      #   easy.timerdata = $value
      #
      # @param [ String ] value The value to set.
      #
      # @return [ void ]
      def timerdata=(value)
        Curl.set_option(:timerdata, value_for(value, :string), handle, :multi)
      end

      # Sets timerfunction option.
      #
      # @example Set timerfunction option.
      #   easy.timerfunction = $value
      #
      # @param [ String ] value The value to set.
      #
      # @return [ void ]
      def timerfunction=(value)
        Curl.set_option(:timerfunction, value_for(value, :string), handle, :multi)
      end

      private

      # Return the value to set to multi handle. It is converted with the help
      # of bool_options, enum_options and int_options.
      #
      # @example Return casted the value.
      #   multi.value_for(:verbose)
      #
      # @return [ Object ] The casted value.
      def value_for(value, type, option = nil)
        return nil if value.nil?

        if type == :bool
          value ? 1 : 0
        elsif type == :int
          value.to_i
        elsif value.is_a?(String)
          Ethon::Easy::Util.escape_zero_byte(value)
        else
          value
        end
      end
    end
  end
end