@@ -6,6 +6,7 @@
# Copyright (C) 2013 Intel Corporation
# Author: Andreea Proca <andreea.b.proca@intel.com>
# Author: Michael Wood <michael.g.wood@intel.com>
+# Author: Thomas Perrot <thomas.perrot@bootlin.com>
#
# SPDX-License-Identifier: GPL-2.0-only
#
@@ -22,7 +23,7 @@ scripts_lib_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'li
sys.path.insert(0, scripts_lib_path)
import argparse_oe
-version = "0.3"
+version = "0.4"
log = logging.getLogger("send-error-report")
logging.basicConfig(format='%(levelname)s: %(message)s')
@@ -140,14 +141,21 @@ def send_data(data, args):
url = args.protocol+args.server+"/ClientPost/"
req = urllib.request.Request(url, data=data, headers=headers)
+
+ log.debug(f"Request URL: {url}")
+ log.debug(f"Request Headers: {headers}")
+ log.debug(f"Request Data: {data.decode('utf-8')}")
+
try:
response = urllib.request.urlopen(req)
except urllib.error.HTTPError as e:
- logging.error(str(e))
+ log.error(f"HTTP Error {e.code}: {e.reason}")
+ log.debug(f"Response Content: {e.read().decode('utf-8')}")
sys.exit(1)
- print(response.read().decode('utf-8'))
-
+ log.debug(f"Response Status: {response.status}")
+ log.debug(f"Response Headers: {response.getheaders()}")
+ log.info(response.read().decode('utf-8'))
if __name__ == '__main__':
arg_parse = argparse_oe.ArgumentParser(description="This scripts will send an error report to your specified error-report-web server.")
@@ -195,13 +203,20 @@ if __name__ == '__main__':
dest="protocol",
action="store_const", const="http://", default="https://")
-
+ arg_parse.add_argument("-d",
+ "--debug",
+ help="Enable debug mode to print request/response details",
+ action="store_true")
args = arg_parse.parse_args()
if (args.json == False):
print("Preparing to send errors to: "+args.server)
+ # Enable debugging if requested
+ if args.debug:
+ log.setLevel(logging.DEBUG)
+
data = prepare_data(args)
send_data(data, args)