summaryrefslogtreecommitdiff
path: root/wsgitools
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2007-04-20 23:46:32 +0200
committerHelmut Grohne <helmut@subdivi.de>2007-04-20 23:46:32 +0200
commit529ab8f8d98ddf9f38b9c1fff8e6410dd8540b69 (patch)
treeb4a3098a705f4ee86fba58babe2097ab7da62742 /wsgitools
parentdab23d4b5bd904329aa43e4056197e10f7794ca7 (diff)
downloadwsgitools-529ab8f8d98ddf9f38b9c1fff8e6410dd8540b69.tar.gz
added better support for HEAD
Diffstat (limited to 'wsgitools')
-rw-r--r--wsgitools/applications.py2
-rw-r--r--wsgitools/middlewares.py13
2 files changed, 9 insertions, 6 deletions
diff --git a/wsgitools/applications.py b/wsgitools/applications.py
index 1e2b435..4ddf7ea 100644
--- a/wsgitools/applications.py
+++ b/wsgitools/applications.py
@@ -24,4 +24,6 @@ class StaticContent:
def __call__(self, environ, start_response):
"""wsgi interface"""
start_response(self.status, self.headers)
+ if environ["REQUEST_METHOD"].upper() == "HEAD":
+ return []
return self.content
diff --git a/wsgitools/middlewares.py b/wsgitools/middlewares.py
index 5ff610f..ff8120b 100644
--- a/wsgitools/middlewares.py
+++ b/wsgitools/middlewares.py
@@ -263,15 +263,14 @@ class BasicAuthMiddleware:
def authorization_required(self, environ, start_response):
"""wsgi application for indicating authorization is required."""
status = "401 Authorization required"
- headers = [('Content-type', 'text/html'),
- ('WWW-Authenticate', 'Basic realm="%s"' % self.realm)]
- if environ["REQUEST_METHOD"] == "HEAD":
- start_response(status, headers)
- return []
html = "<html><head><title>Authorization required</title></head>" + \
"<body><h1>Authorization required</h1></body></html>\n"
- headers.append(('Content-length', len(html)))
+ headers = [('Content-type', 'text/html'),
+ ('WWW-Authenticate', 'Basic realm="%s"' % self.realm),
+ ("Content-length", str(len(html)))]
start_response(status, headers)
+ if environ["REQUEST_METHOD"].upper() == "HEAD":
+ return []
return [html]
__all__.append("TracebackMiddleware")
@@ -300,4 +299,6 @@ class TracebackMiddleware:
data = cgitb.html(exc_info)
start_response("200 OK", [("Content-type", "text/html"),
("Content-length", str(len(data)))])
+ if environ["REQUEST_METHOD"].upper() == "HEAD":
+ return []
return [data]