class Ritm::Session

Holds the context of a interception session. Changes in the context configuration should affect only this session

Attributes

conf[R]
dispatcher[R]

Public Class Methods

new() click to toggle source
# File lib/ritm/session.rb, line 11
def initialize
  @conf = Configuration.new
  @dispatcher = Dispatcher.new
  @proxy = nil
end

Public Instance Methods

add_handler(handler) click to toggle source
# File lib/ritm/session.rb, line 45
def add_handler(handler)
  dispatcher.add_handler(handler)
end
configure(&block) click to toggle source

Define configuration settings

# File lib/ritm/session.rb, line 18
def configure(&block)
  conf.instance_eval(&block)
end
disable() click to toggle source

Disable fuzzing (if it was enabled)

# File lib/ritm/session.rb, line 28
def disable
  conf.disable
end
enable() click to toggle source

Re-enable fuzzing (if it was disabled)

# File lib/ritm/session.rb, line 23
def enable
  conf.enable
end
on_request(&block) click to toggle source
# File lib/ritm/session.rb, line 49
def on_request(&block)
  dispatcher.on_request(&block)
end
on_response(&block) click to toggle source
# File lib/ritm/session.rb, line 53
def on_response(&block)
  dispatcher.on_response(&block)
end
shutdown() click to toggle source

Shutdown the proxy service

# File lib/ritm/session.rb, line 40
def shutdown
  @proxy.shutdown unless @proxy.nil?
  @proxy = nil
end
start() click to toggle source

Start the proxy service

# File lib/ritm/session.rb, line 33
def start
  raise 'Proxy already started' unless @proxy.nil?
  @proxy = Proxy::Launcher.new(self)
  @proxy.start
end