aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkongr45gpen <electrovesta@gmail.com>2016-03-17 20:37:11 +0200
committerkongr45gpen <electrovesta@gmail.com>2016-03-17 20:37:11 +0200
commit88b69cf358d979642d2aca53c77042bd51749456 (patch)
tree8d8de2d6fb2bdad13b0fabeb83389b46b84cec5c
parent9fdf9bac865da95aa38c62e3f308271e2e7fee50 (diff)
downloadsupybot_github-88b69cf358d979642d2aca53c77042bd51749456.tar.gz
supybot_github-88b69cf358d979642d2aca53c77042bd51749456.tar.bz2
supybot_github-88b69cf358d979642d2aca53c77042bd51749456.zip
Don't stop handling a request if the connection is broken
-rw-r--r--local/handler/GithubHandler.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/local/handler/GithubHandler.py b/local/handler/GithubHandler.py
index e1e6394..07665fa 100644
--- a/local/handler/GithubHandler.py
+++ b/local/handler/GithubHandler.py
@@ -4,6 +4,7 @@ import hmac
import json
import time
import random
+import socket
import urllib
import urllib2
import hashlib
@@ -90,11 +91,14 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler):
i+=1
- s.send_response(200)
- s.send_header('Content-type', 'text/html')
- s.end_headers()
- s.wfile.write("Thanks, you're awesome.\n")
- s.wfile.write(s.path.split('/'))
+ try:
+ s.send_response(200)
+ s.send_header('Content-type', 'text/html')
+ s.end_headers()
+ s.wfile.write("Thanks, you're awesome.\n")
+ s.wfile.write(s.path.split('/'))
+ except socket.error:
+ pass
if requireCode and receivedcode != configValue('passcode'):
# The password is wrong
@@ -175,5 +179,16 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler):
for irc in world.ircs:
irc.queueMsg(ircmsgs.privmsg(channel, msg))
+ def finish(self):
+ try:
+ if not self.wfile.closed:
+ self.wfile.flush()
+ self.wfile.close()
+ self.rfile.close()
+ except socket.error:
+ # An final socket error may have occurred here, such as a broken
+ # pipe
+ pass
+
def log_message(self, format, *args):
log.info(format % args)

© 2014-2024 Faster IT GmbH | imprint | privacy policy