From c2d0910e593faf34bae37f5c9b5cfaae509bdf8c Mon Sep 17 00:00:00 2001 From: Tai Dickerson Date: Tue, 14 Jun 2016 12:47:10 -0400 Subject: 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 --- examples/har_extractor.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'examples') 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) -- cgit v1.2.3