diff options
author | Tai Dickerson <tdickers@akamai.com> | 2016-06-14 12:47:10 -0400 |
---|---|---|
committer | Tai Dickerson <tdickers@akamai.com> | 2016-06-14 12:47:10 -0400 |
commit | c2d0910e593faf34bae37f5c9b5cfaae509bdf8c (patch) | |
tree | 55e9a880081f6b129917d6d9d45be21b4bf1225e /examples | |
parent | a63817f2b8539cab0b645e0eda772daeaf898ed3 (diff) | |
download | mitmproxy-c2d0910e593faf34bae37f5c9b5cfaae509bdf8c.tar.gz mitmproxy-c2d0910e593faf34bae37f5c9b5cfaae509bdf8c.tar.bz2 mitmproxy-c2d0910e593faf34bae37f5c9b5cfaae509bdf8c.zip |
Make har_extractor.py output HAR 1.2 spec-compliant
HAR files were failing to load in harviewer (http://www.softwareishard.com/har/viewer/) due to:
- ISO 8601 dates for startedDateTime missing timezone (http://www.softwareishard.com/blog/har-12-spec/#pages)
-- Used UTC but could add detection of default system timezone if desired
- pages object missing pageTimings (http://www.softwareishard.com/blog/har-12-spec/#pageTimings)
-- Used {} because all child fields are optional
Diffstat (limited to 'examples')
-rw-r--r-- | examples/har_extractor.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/examples/har_extractor.py b/examples/har_extractor.py index c21f1a8f..d6b50c21 100644 --- a/examples/har_extractor.py +++ b/examples/har_extractor.py @@ -4,6 +4,7 @@ """ import six import sys +import pytz from harparser import HAR from datetime import datetime @@ -120,7 +121,7 @@ def response(context, flow): full_time = sum(v for v in timings.values() if v > -1) started_date_time = datetime.utcfromtimestamp( - flow.request.timestamp_start).isoformat() + flow.request.timestamp_start).replace(tzinfo=pytz.timezone("UTC")).isoformat() request_query_string = [{"name": k, "value": v} for k, v in flow.request.query or {}] @@ -174,6 +175,7 @@ def response(context, flow): "startedDateTime": entry['startedDateTime'], "id": page_id, "title": flow.request.url, + "pageTimings": {} }) ) context.HARLog.set_page_ref(flow.request.url, page_id) |