Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.73 KB

README.md

File metadata and controls

42 lines (33 loc) · 1.73 KB

HAR

HAR stands for HTTP Archive format used by various HTTP monitoring tools to export collected data. This format is based on JSON and is supported by many tools on the market including all main browsers (Firefox/Chrome/IE/Edge etc.)

HAR spec:

HAR adopters:

Netmonitor

Network monitor tool (in Firefox) supports exporting data in HAR format and the implementation consists from the following objects.

HarAutomation

This object is responsible for automated HAR export. It listens for Network activity and triggers HAR export when the page is loaded.

The user needs to enable devtools.netmonitor.har.enableAutoExportToFile pref and restart Firefox to switch this automation tool on.

HarBuilder

This object is responsible for building HAR object (JSON). It gets all HTTP requests currently displayed in the Network panel and builds valid HAR. This object lazy loads all necessary data from the backend if needed, so the result structure is complete.

HarCollector

This object is responsible for collecting data related to all HTTP requests executed by the page (including inner iframes). The final export is triggered by HarAutomation at the right time.

Note: this object is using it's own logic to fetch data from the backend. It should reuse the Netmonitor Connector (src/connector/index), so we don't have to maintain two code paths.

HarExporter

This object represents the main public API designed to access export logic. Clients, such as the Network panel itself, or WebExtensions API should use this object to trigger exporting of collected HTTP data from the panel.