# HG changeset patch # User paulb # Date 1080253230 0 # Node ID 99b0dbfeaa3f0c0af85bc1f1f707bb1e5f0e1347 # Parent 2eaaace1680e21683d3e2971f6ac53d93b0ca7ce [project @ 2004-03-25 22:20:28 by paulb] Added unsuccessful JavaServlet features. diff -r 2eaaace1680e -r 99b0dbfeaa3f WebStack/Adapters/JavaServlet.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebStack/Adapters/JavaServlet.py Thu Mar 25 22:20:30 2004 +0000 @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +""" +Java Servlet adapter. +""" + +from WebStack import JavaServlet + +class Dispatcher: + + "A servlet helper class dispatching requests to WebStack resources." + + def __init__(self, resource, authenticator=None): + + """ + Initialise the root application-specific 'resource' and optional + 'authenticator'. + """ + + self.webstack_resource = resource + self.webstack_authenticator = authenticator + + def service(self, request, response): + + """ + Handle the 'request' and 'response' presented by the servlet. + """ + + trans = WebStack.JavaServlet.Transaction(request, response) + if self.webstack_authenticator is None or self.webstack_authenticator.authenticate(trans): + self.webstack_resource.respond(trans) + else: + trans.set_response_code(401) # Unauthorized + trans.set_header_value("WWW-Authenticate", '%s realm="%s"' % ( + self.webstack_authenticator.get_auth_type(), self.webstack_authenticator.get_realm())) + + trans.commit() + +# vim: tabstop=4 expandtab shiftwidth=4 diff -r 2eaaace1680e -r 99b0dbfeaa3f examples/JavaServlet/SimpleApp/SimpleApp.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/JavaServlet/SimpleApp/SimpleApp.py Thu Mar 25 22:20:30 2004 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +from WebStack.Adapters import JavaServlet +from Simple import SimpleResource +from javax.servlet.http import HttpServlet + +class SimpleApp(HttpServlet): + def __init__(self): + HttpServlet.__init__(self) + self.dispatcher = JavaServlet.Dispatcher(SimpleResource()) + + def service(self, request, response): + self.dispatcher.service(request, response) + +# vim: tabstop=4 expandtab shiftwidth=4