Sha256: ca80f3dbfdf250118804a1c27f47faef49d8f012e809172b795f4e189c57e4f3

Contents?: true

Size: 1.96 KB

Versions: 8

Compression:

Stored size: 1.96 KB

Contents

class Buby
  # Extensions can implement this interface and then call
  # {Buby#registerSessionHandlingAction} to register a custom session handling
  # action. Each registered action will be available within the session handling
  # rule UI for the user to select as a rule action. Users can choose to invoke
  # an action directly in its own right, or following execution of a macro.
  #
  class SessionHandlingAction
    include Java::Burp::ISessionHandlingAction
    # This method is used by Burp to obtain the name of the session handling
    # action. This will be displayed as an option within the session handling
    # rule editor when the user selects to execute an extension-provided action.
    #
    # @return [String] The name of the action.
    #
    def getActionName
      pp [:got_getActionName] if $DEBUG
      self.class.name
    end

    # This method is invoked when the session handling action should be
    # executed. This may happen as an action in its own right, or as a
    # sub-action following execution of a macro.
    #
    # @param [IHttpRequestResponse] currentRequest The base request that is
    #   currently being processed. The action can query this object to obtain
    #   details about the base request. It can issue additional requests of its
    #   own if necessary, and can use the setter methods on this object to
    #   update the base request.
    # @param [Array<IHttpRequestResponse>] macroItems If the action is invoked
    #   following execution of a macro, this parameter contains the result of
    #   executing the macro. Otherwise, it is +nil+. Actions can use the details
    #   of the macro items to perform custom analysis of the macro to derive
    #   values of non-standard session handling tokens, etc.
    # @return [void]
    # 
    # @abstract
    def performAction(currentRequest, macroItems)
      pp [:got_performAction, currentRequest, macroItems] if $DEBUG
      Buby::HttpRequestResponseHelper.implant(currentRequest)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
buby-1.6.0-java lib/buby/session_handling_action.rb
buby-1.5.2-java lib/buby/session_handling_action.rb
buby-1.5.1-java lib/buby/session_handling_action.rb
buby-1.5.0-java lib/buby/session_handling_action.rb
buby-1.5.0.pre4-java lib/buby/session_handling_action.rb
buby-1.5.0.pre3-java lib/buby/session_handling_action.rb
buby-1.5.0.pre2-java lib/buby/session_handling_action.rb
buby-1.5.0.pre1-java lib/buby/session_handling_action.rb