1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/WebStack/Adapters/BaseHTTPRequestHandler.py Thu Feb 05 00:11:35 2004 +0000
1.3 @@ -0,0 +1,52 @@
1.4 +#!/usr/bin/env python
1.5 +
1.6 +"""
1.7 +BaseHTTPRequestHandler adapter.
1.8 +"""
1.9 +
1.10 +import WebStack.BaseHTTPRequestHandler
1.11 +import BaseHTTPServer
1.12 +
1.13 +class HandlerFactory:
1.14 +
1.15 + "A factory class creating WebStack dispatcher objects."
1.16 +
1.17 + def __init__(self, resource):
1.18 +
1.19 + "Initialise the root application-specific 'resource'."
1.20 +
1.21 + self.webstack_resource = resource
1.22 +
1.23 + def __call__(self, request, client_address, server):
1.24 +
1.25 + "Act as a factory for the server objects."
1.26 +
1.27 + handler = Handler(request, client_address, server, self.webstack_resource)
1.28 + return handler
1.29 +
1.30 +class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
1.31 +
1.32 + "A class dispatching requests to WebStack resources."
1.33 +
1.34 + def __init__(self, request, client_address, server, resource):
1.35 +
1.36 + "Initialise the root application-specific 'resource'."
1.37 +
1.38 + self.webstack_resource = resource
1.39 + BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, request, client_address, server)
1.40 +
1.41 + def handle(self):
1.42 +
1.43 + "Dispatch the request to the root application-specific resource."
1.44 +
1.45 + # NOTE: Overriding and trimming back the method's functionality.
1.46 +
1.47 + self.raw_requestline = self.rfile.readline()
1.48 + if not self.parse_request(): # An error code has been sent, just exit
1.49 + return
1.50 +
1.51 + trans = WebStack.BaseHTTPRequestHandler.Transaction(self)
1.52 + self.webstack_resource.respond(trans)
1.53 + trans.commit()
1.54 +
1.55 +# vim: tabstop=4 expandtab shiftwidth=4
2.1 --- a/WebStack/Adapters/ModPython.py Thu Feb 05 00:10:59 2004 +0000
2.2 +++ b/WebStack/Adapters/ModPython.py Thu Feb 05 00:11:35 2004 +0000
2.3 @@ -21,6 +21,7 @@
2.4
2.5 try:
2.6 resource.respond(trans)
2.7 + trans.commit()
2.8 return apache.OK
2.9 except:
2.10
3.1 --- a/WebStack/Adapters/Twisted.py Thu Feb 05 00:10:59 2004 +0000
3.2 +++ b/WebStack/Adapters/Twisted.py Thu Feb 05 00:11:35 2004 +0000
3.3 @@ -29,6 +29,7 @@
3.4
3.5 trans = WebStack.Twisted.Transaction(request)
3.6 self.webstack_resource.respond(trans)
3.7 + trans.commit()
3.8 request.finish()
3.9 return twisted.web.server.NOT_DONE_YET
3.10
4.1 --- a/WebStack/Adapters/Webware.py Thu Feb 05 00:10:59 2004 +0000
4.2 +++ b/WebStack/Adapters/Webware.py Thu Feb 05 00:11:35 2004 +0000
4.3 @@ -77,5 +77,6 @@
4.4
4.5 new_trans = WebStack.Webware.Transaction(trans)
4.6 self.webstack_resource.respond(new_trans)
4.7 + new_trans.commit()
4.8
4.9 # vim: tabstop=4 expandtab shiftwidth=4