Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1296)

Unified Diff: breakpad.py

Issue 2327003: Use https for stack trace upload. (Closed)
Patch Set: Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: breakpad.py
diff --git a/breakpad.py b/breakpad.py
index 6818c9e0e882986323d39bd4464d68da45dca7c3..7f2eab38791535a33014e77684677c38ba1bbe32 100644
--- a/breakpad.py
+++ b/breakpad.py
@@ -13,10 +13,15 @@ import traceback
import socket
import sys
+
# Configure these values.
-DEFAULT_URL = 'http://chromium-status.appspot.com/breakpad'
+DEFAULT_URL = 'https://chromium-status.appspot.com/breakpad'
+
+_REGISTERED = False
+
def SendStack(last_tb, stack, url=None):
+ """Sends the stack trace to the breakpad server."""
if not url:
url = DEFAULT_URL
print 'Sending crash report ...'
@@ -26,6 +31,7 @@ def SendStack(last_tb, stack, url=None):
'stack': stack,
'user': getpass.getuser(),
'exception': last_tb,
+ 'host': socket.getfqdn(),
}
request = urllib.urlopen(url, urllib.urlencode(params))
print request.read()
@@ -35,6 +41,7 @@ def SendStack(last_tb, stack, url=None):
def CheckForException():
+ """Runs at exit. Look if there was an exception active."""
last_value = getattr(sys, 'last_value', None)
if last_value and not isinstance(last_value, KeyboardInterrupt):
last_tb = getattr(sys, 'last_traceback', None)
@@ -42,7 +49,19 @@ def CheckForException():
SendStack(repr(last_value), ''.join(traceback.format_tb(last_tb)))
+def Register():
+ """Registers the callback at exit. Calling it multiple times is no-op."""
+ global _REGISTERED
+ if _REGISTERED:
+ return
+ _REGISTERED = True
+ atexit.register(CheckForException)
+
+
+# Skip unit tests and we don't want anything from non-googler.
if (not 'test' in sys.modules['__main__'].__file__ and
socket.getfqdn().endswith('.google.com')):
- # Skip unit tests and we don't want anything from non-googler.
- atexit.register(CheckForException)
+ Register()
+
+# Uncomment this line if you want to test it out.
+#Register()
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698