From 587b079878bbc2b9c0f374b0d0c75526627125bc Mon Sep 17 00:00:00 2001 From: Dr Scofield Date: Fri, 30 Jan 2009 08:49:00 +0000 Subject: [PATCH] --- .../Avatar/Concierge/ConciergeServer.py | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/Environment/Modules/Avatar/Concierge/ConciergeServer.py b/OpenSim/Region/Environment/Modules/Avatar/Concierge/ConciergeServer.py index 4a1a2b086d..1c088fb739 100755 --- a/OpenSim/Region/Environment/Modules/Avatar/Concierge/ConciergeServer.py +++ b/OpenSim/Region/Environment/Modules/Avatar/Concierge/ConciergeServer.py @@ -29,6 +29,7 @@ import logging import BaseHTTPServer +import optparse import xml.etree.ElementTree as ET import xml.parsers.expat @@ -37,6 +38,8 @@ import xml.parsers.expat logging.basicConfig(level = logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s') +options = None + # subclassed HTTPRequestHandler class ConciergeHandler(BaseHTTPServer.BaseHTTPRequestHandler): def logRequest(self): @@ -86,21 +89,39 @@ class ConciergeHandler(BaseHTTPServer.BaseHTTPRequestHandler): logging.error('[ConciergeHandler] POST illformed:%s', xmlError) self.send_response(500) return - - self.send_response(200) - self.send_header('Content-type', 'text/html') - self.end_headers() - self.logResponse(200) + if not options.fail: + self.send_response(200) + self.send_header('Content-Type', 'text/html') + self.send_header('Content-Length', len('')) + self.end_headers() + self.logResponse(200) + self.wfile.write('') + self.wfile.close() + else: + self.send_response(500) + self.send_header('Content-Type', 'text/html') + self.send_header('Content-Length', len('gotcha!')) + self.end_headers() + self.wfile.write('gotcha!') + self.wfile.close() + + self.logResponse(500) def log_request(code, size): pass if __name__ == '__main__': - httpServer = BaseHTTPServer.HTTPServer(('', 8080), ConciergeHandler) logging.info('[ConciergeServer] Concierge Broker Test Server starting') + parser = optparse.OptionParser() + parser.add_option('-p', '--port', dest = 'port', help = 'port to listen on', metavar = 'PORT') + parser.add_option('-f', '--fail', dest = 'fail', action = 'store_true', help = 'always fail POST requests') + + (options, args) = parser.parse_args() + + httpServer = BaseHTTPServer.HTTPServer(('', 8080), ConciergeHandler) try: httpServer.serve_forever() except KeyboardInterrupt: