Sha256: 6daa6bde8669cecfcdc4f48c033b55fae1f855f80cbf9f32d2d1eb87a480d14f

Contents?: true

Size: 1.26 KB

Versions: 12

Compression:

Stored size: 1.26 KB

Contents

module CopyRequest
  def copyRequest(req)
    req = case
    when req.is_a?(Numeric)
      # offset to match UI
      self.proxy_history[req-1].req_str
    when req.kind_of?(String)
      req
    when (req.respond_to?(:java_class) and req.java_class.to_s == "[B")
      String.from_java_bytes(req)
    when req.respond_to?(:req_str)
      req.req_str
    else
      warn "unknown request type... ducking"
      req
    end
    
    java.awt.Toolkit.getDefaultToolkit.getSystemClipboard.setContents(java.awt.datatransfer.StringSelection.new(req), nil)
    req
  end
  alias copy_request copyRequest
  
  def init_CopyRequest
    CopyRequestHandler.init_handler("Copy request(s)", self)
  end
end

module CopyRequestHandler
  class << self
    attr_accessor :_burp
    attr_reader :menuItemCaption
  end
  
  def self.init_handler(menuItemCaption, _burp = $burp)
    @menuItemCaption = menuItemCaption
    @_burp = _burp
    @_burp.registerMenuItem(menuItemCaption, self)
  end
  
  def self.menuItemClicked(menuItemCaption, messageInfo)
    messageInfo = Buby::HttpRequestResponseList.new(messageInfo).map{|x| x.req_str}.join("\r\n\r\n#{'='*50}\r\n\r\n")
    java.awt.Toolkit.getDefaultToolkit.getSystemClipboard.setContents(java.awt.datatransfer.StringSelection.new(messageInfo), nil)
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
buby-1.6.0-java samples/menu_copy_req.rb
buby-1.5.2-java samples/menu_copy_req.rb
buby-1.5.1-java samples/menu_copy_req.rb
buby-1.5.0-java samples/menu_copy_req.rb
buby-1.5.0.pre4-java samples/menu_copy_req.rb
buby-1.5.0.pre3-java samples/menu_copy_req.rb
buby-1.5.0.pre2-java samples/menu_copy_req.rb
buby-1.5.0.pre1-java samples/menu_copy_req.rb
buby-1.3.3-java samples/menu_copy_req.rb
buby-1.3.1-java samples/menu_copy_req.rb
buby-1.3.0-java samples/menu_copy_req.rb
buby-1.2.0-java samples/menu_copy_req.rb