diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -854,7 +854,7 @@ class hgweb(object):
         if encoding:
             headers.append(('Content-encoding', encoding))
         req.header(headers)
-        archival.archive(self.repo, req.out, cnode, artype, prefix=name)
+        archival.archive(self.repo, req, cnode, artype, prefix=name)
 
     # add tags to things
     # tags -> list of changesets corresponding to tags
diff --git a/mercurial/hgweb/request.py b/mercurial/hgweb/request.py
--- a/mercurial/hgweb/request.py
+++ b/mercurial/hgweb/request.py
@@ -27,8 +27,6 @@ class wsgirequest(object):
         self.start_response = start_response
         self.headers = []
 
-    out = property(lambda self: self)
-
     def __iter__(self):
         return iter([])