1.1 --- a/WebStack/Adapters/BaseHTTPRequestHandler.py Sun Oct 17 19:31:04 2004 +0000
1.2 +++ b/WebStack/Adapters/BaseHTTPRequestHandler.py Sun Oct 17 19:31:09 2004 +0000
1.3 @@ -6,6 +6,7 @@
1.4
1.5 import WebStack.BaseHTTPRequestHandler
1.6 import BaseHTTPServer
1.7 +from WebStack.Generic import EndOfResponse
1.8
1.9 class HandlerFactory:
1.10
1.11 @@ -55,7 +56,10 @@
1.12
1.13 trans = WebStack.BaseHTTPRequestHandler.Transaction(self)
1.14 if self.webstack_authenticator is None or self.webstack_authenticator.authenticate(trans):
1.15 - self.webstack_resource.respond(trans)
1.16 + try:
1.17 + self.webstack_resource.respond(trans)
1.18 + except EndOfResponse:
1.19 + pass
1.20 else:
1.21 trans.set_response_code(401) # Unauthorized
1.22 trans.set_header_value("WWW-Authenticate", '%s realm="%s"' % (
2.1 --- a/WebStack/Adapters/CGI.py Sun Oct 17 19:31:04 2004 +0000
2.2 +++ b/WebStack/Adapters/CGI.py Sun Oct 17 19:31:09 2004 +0000
2.3 @@ -5,6 +5,7 @@
2.4 """
2.5
2.6 import WebStack.CGI
2.7 +from WebStack.Generic import EndOfResponse
2.8 import sys, os
2.9
2.10 def respond(resource, authenticator=None, input=None, output=None, env=None):
2.11 @@ -23,7 +24,10 @@
2.12
2.13 try:
2.14 if authenticator is None or authenticator.authenticate(trans):
2.15 - resource.respond(trans)
2.16 + try:
2.17 + resource.respond(trans)
2.18 + except EndOfResponse:
2.19 + pass
2.20 else:
2.21 trans.set_response_code(401) # Unauthorized
2.22 trans.set_header_value("WWW-Authenticate", '%s realm="%s"' % (
3.1 --- a/WebStack/Adapters/JavaServlet.py Sun Oct 17 19:31:04 2004 +0000
3.2 +++ b/WebStack/Adapters/JavaServlet.py Sun Oct 17 19:31:09 2004 +0000
3.3 @@ -5,6 +5,7 @@
3.4 """
3.5
3.6 import WebStack.JavaServlet
3.7 +from WebStack.Generic import EndOfResponse
3.8
3.9 class Dispatcher:
3.10
3.11 @@ -28,7 +29,10 @@
3.12
3.13 trans = WebStack.JavaServlet.Transaction(request, response)
3.14 if self.webstack_authenticator is None or self.webstack_authenticator.authenticate(trans):
3.15 - self.webstack_resource.respond(trans)
3.16 + try:
3.17 + self.webstack_resource.respond(trans)
3.18 + except EndOfResponse:
3.19 + pass
3.20 else:
3.21 trans.set_response_code(401) # Unauthorized
3.22 #trans.set_header_value("WWW-Authenticate", '%s realm="%s"' % (
4.1 --- a/WebStack/Adapters/ModPython.py Sun Oct 17 19:31:04 2004 +0000
4.2 +++ b/WebStack/Adapters/ModPython.py Sun Oct 17 19:31:09 2004 +0000
4.3 @@ -5,6 +5,7 @@
4.4 """
4.5
4.6 import WebStack.ModPython
4.7 +from WebStack.Generic import EndOfResponse
4.8 from mod_python import apache
4.9
4.10 def respond(request, resource, debug=0):
4.11 @@ -20,7 +21,10 @@
4.12 # NOTE: Resource pooling may be appropriate.
4.13
4.14 try:
4.15 - resource.respond(trans)
4.16 + try:
4.17 + resource.respond(trans)
4.18 + except EndOfResponse:
4.19 + pass
4.20 trans.commit()
4.21 return trans.get_response_code()
4.22 except:
5.1 --- a/WebStack/Adapters/Twisted.py Sun Oct 17 19:31:04 2004 +0000
5.2 +++ b/WebStack/Adapters/Twisted.py Sun Oct 17 19:31:09 2004 +0000
5.3 @@ -5,6 +5,7 @@
5.4 """
5.5
5.6 import WebStack.Twisted
5.7 +from WebStack.Generic import EndOfResponse
5.8 import twisted.web.resource
5.9
5.10 class Dispatcher(twisted.web.resource.Resource):
5.11 @@ -33,7 +34,10 @@
5.12
5.13 trans = WebStack.Twisted.Transaction(request)
5.14 if self.webstack_authenticator is None or self.webstack_authenticator.authenticate(trans):
5.15 - self.webstack_resource.respond(trans)
5.16 + try:
5.17 + self.webstack_resource.respond(trans)
5.18 + except EndOfResponse:
5.19 + pass
5.20 else:
5.21 trans.set_response_code(401) # Unauthorized
5.22 trans.set_header_value("WWW-Authenticate", '%s realm="%s"' % (
6.1 --- a/WebStack/Adapters/Webware.py Sun Oct 17 19:31:04 2004 +0000
6.2 +++ b/WebStack/Adapters/Webware.py Sun Oct 17 19:31:09 2004 +0000
6.3 @@ -5,6 +5,7 @@
6.4 """
6.5
6.6 import WebStack.Webware
6.7 +from WebStack.Generic import EndOfResponse
6.8
6.9 # For Webware releases later than 0.8.1, employ special URLParsers in contexts
6.10 # for each application in the application server; such parsers create servlets
6.11 @@ -132,7 +133,10 @@
6.12
6.13 new_trans = WebStack.Webware.Transaction(trans)
6.14 if self.webstack_authenticator is None or self.webstack_authenticator.authenticate(new_trans):
6.15 - self.webstack_resource.respond(new_trans)
6.16 + try:
6.17 + self.webstack_resource.respond(new_trans)
6.18 + except EndOfResponse:
6.19 + pass
6.20 else:
6.21 new_trans.set_response_code(401) # Unauthorized
6.22 new_trans.set_header_value("WWW-Authenticate", '%s realm="%s"' % (
7.1 --- a/WebStack/Adapters/Zope.py Sun Oct 17 19:31:04 2004 +0000
7.2 +++ b/WebStack/Adapters/Zope.py Sun Oct 17 19:31:09 2004 +0000
7.3 @@ -5,6 +5,7 @@
7.4 """
7.5
7.6 import WebStack.Zope
7.7 +from WebStack.Generic import EndOfResponse
7.8
7.9 from Globals import Persistent
7.10 from OFS.SimpleItem import Item
7.11 @@ -49,7 +50,10 @@
7.12 raise "Internal Error"
7.13
7.14 if self.webstack_authenticator is None or self.webstack_authenticator.authenticate(trans):
7.15 - self.webstack_resource.respond(trans)
7.16 + try:
7.17 + self.webstack_resource.respond(trans)
7.18 + except EndOfResponse:
7.19 + pass
7.20 else:
7.21 #trans.set_header_value("WWW-Authenticate", '%s realm="%s"' % (
7.22 # self.webstack_authenticator.get_auth_type(), self.webstack_authenticator.get_realm()))