aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTai Dickerson <tdickers@akamai.com>2016-06-14 12:47:10 -0400
committerTai Dickerson <tdickers@akamai.com>2016-06-14 12:47:10 -0400
commitc2d0910e593faf34bae37f5c9b5cfaae509bdf8c (patch)
tree55e9a880081f6b129917d6d9d45be21b4bf1225e
parenta63817f2b8539cab0b645e0eda772daeaf898ed3 (diff)
downloadmitmproxy-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
-rw-r--r--examples/har_extractor.py4
-rw-r--r--test/mitmproxy/data/har_extractor.har7
2 files changed, 7 insertions, 4 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)
diff --git a/test/mitmproxy/data/har_extractor.har b/test/mitmproxy/data/har_extractor.har
index 6b5e2994..d80dc55f 100644
--- a/test/mitmproxy/data/har_extractor.har
+++ b/test/mitmproxy/data/har_extractor.har
@@ -10,15 +10,16 @@
},
"pages": [
{
- "startedDateTime": "1993-08-24T14:41:12",
+ "startedDateTime": "1993-08-24T14:41:12+00:00",
"id": "autopage_1",
- "title": "http://address:22/path"
+ "title": "http://address:22/path",
+ "pageTimings": {}
}
],
"entries": [
{
"pageref": "autopage_1",
- "startedDateTime": "1993-08-24T14:41:12",
+ "startedDateTime": "1993-08-24T14:41:12+00:00",
"cache": {},
"request": {
"cookies": [],