X-Git-Url: https://blacka.com/cgi-bin/gitweb.cgi?p=python-rwhoisd.git;a=blobdiff_plain;f=rwhoisd%2FRwhoisServer.py;fp=rwhoisd%2FRwhoisServer.py;h=e46a7d54a4e7504be27611a9394cda144ba4c5e5;hp=e989ce05165be81f223536cbac51fef1e8e93bdd;hb=fce10ccdfc9de52bc3253e02c6dc4612f9ab12a1;hpb=8fef481fa62f75eeb21b338cf69732ac21a24c26 diff --git a/rwhoisd/RwhoisServer.py b/rwhoisd/RwhoisServer.py index e989ce0..e46a7d5 100644 --- a/rwhoisd/RwhoisServer.py +++ b/rwhoisd/RwhoisServer.py @@ -84,13 +84,16 @@ class RwhoisHandler(SocketServer.StreamRequestHandler): # we can skip blank lines. if not line: continue - - if line.startswith("-"): - self.handle_directive(session, line) - else: - self.handle_query(session, line) - if not session.holdconnect: - self.quit_flag = True + + try: + if line.startswith("-"): + self.handle_directive(session, line) + else: + self.handle_query(session, line) + if not session.holdconnect: + self.quit_flag = True + except Rwhois.RwhoisError, e: + self.handle_error(session, e) self.wfile.flush() @@ -114,6 +117,10 @@ class RwhoisHandler(SocketServer.StreamRequestHandler): print "%s query %s" % (self.client_address, line) query_processor.process_query(session, line) + def handle_error(self, session, error): + code = error[0] + msg = error[1] + session.wfile.write(Rwhois.error_message((code, msg))) def usage(pname): print """\