Report Editor Manual

mhils edited this page Jan 23, 2013 · 10 revisions
Clone this wiki locally

The Report Editor is HoneyProxys most complex and powerful feature.
It allows you to analyze all captured traffic with custom JavaScript code.

Report Editor Screenshot

User Manual

This section covers the basics of Report Generation. If you want to write your own report scripts, check out the Editor Manual.

Quick Start

The usage of the Report Generator is pretty much straightforward:

  1. Capture some traffic (or load some saved flows).
  2. Click on Generate Report in the top navigation.
  3. The Report View is split into two section. On the right, you can edit your current Report Script.
  4. Use the Drop Down on the top right of the Report Editor to select your Report Script.
  5. Click on Generate Report. The output should appear on the left.

Report Gallery

To be done. Please open an issue if you wrote something cool.

Editor Manual

The Report Editor basically contains JS code that gets executed when you generate a report. Here's what you need to know:

###JS environment variables

{ HTMLDivElement }
Output DOM Node on the left.
{ Backbone.Collection }
Collection containing all flows (=request+response obj).
Take care: You are not working on a copy.
Protip: When handling single flows, use "flow" as your variable name.
flow. + Ctrl-Space opens auto completion. You can view all attributes this way.
{ Object }
The detailView object allows you to show flow details: flow) - Show the detail view for the given flow.
detailView.hide() - Hide the detail view.
{ function(deps,func) }
Dojo Toolkit AMD Loader (1.8)
Your report script can require other JS files in the Report Scripts directory. Just use require(["ReportScripts/dep"],...);.
Lodash JavaScript Library (UnderscoreJS replacement)

Editor Hotkeys:

Ctrl-Space: Autocomplete
Ctrl-Shift-F: Autoformat selection
Ctrl-Enter: Generate Report
Alt-PageDown / Alt-PageUp: Open to next/previous script

Miscellaneous Notes

  • When developing, your browser dev tools are your best friend. HoneyProxy exposes a global HoneyProxy object for playing around. Also look at existing Report Scripts to see what's possible.
  • HoneyProxy is built with the Dojo Toolkit internally. Use it as much as you can. It's great for Charting by the way. Expert Note: Some parts of dojox/* are excluded to make our release smaller. If you think they are useful, open a ticket to get them included in the next release.
  • If you did something cool: Show it! If you have any issues / need help: Don't hesistate to use the GitHub Issue Tracker for this.