Class: Arachni::UI::Web::OutputStream

Inherits:
Object
  • Object
show all
Defined in:
lib/arachni/ui/web/output_stream.rb

Overview

This used to be a stream in the past, now it’s just a compat class.

Instance Method Summary collapse

Constructor Details

#initialize(output, lines, &block) ⇒ OutputStream

Returns a new instance of OutputStream.



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/arachni/ui/web/output_stream.rb', line 20

def initialize( output, lines, &block )
    @lines  = lines
    @output = output
    @buffer = []

    @icon_whitelist = {}
    [ 'status', 'ok', 'error', 'info', 'bad' ].each {
        |icon|
        @icon_whitelist[icon] = "<img src='/icons/#{icon}.png' />"
    }

end

Instance Method Details

#formatObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/arachni/ui/web/output_stream.rb', line 33

def format
    str = ''
    cnt = 0

    while( ( out = @output.pop ) && ( ( cnt += 1 ) < @lines ) )

        type = out.keys[0]
        msg  = out.values[0]

        next if out.values[0].empty?

        icon = @icon_whitelist[type.to_s] || ''
        str += icon + CGI.escapeHTML( " #{out.values[0]}" ) + "<br/>"
    end

    return str
end