Show More
@@ -230,8 +230,9 b' class requestcontext:' | |||||
230 |
|
230 | |||
231 | def sendtemplate(self, name, **kwargs): |
|
231 | def sendtemplate(self, name, **kwargs): | |
232 | """Helper function to send a response generated from a template.""" |
|
232 | """Helper function to send a response generated from a template.""" | |
233 | kwargs = pycompat.byteskwargs(kwargs) |
|
233 | if self.req.method != b'HEAD': | |
234 | self.res.setbodygen(self.tmpl.generate(name, kwargs)) |
|
234 | kwargs = pycompat.byteskwargs(kwargs) | |
|
235 | self.res.setbodygen(self.tmpl.generate(name, kwargs)) | |||
235 | return self.res.sendresponse() |
|
236 | return self.res.sendresponse() | |
236 |
|
237 | |||
237 |
|
238 |
@@ -485,6 +485,7 b' class wsgiresponse:' | |||||
485 | self._bodybytes is None |
|
485 | self._bodybytes is None | |
486 | and self._bodygen is None |
|
486 | and self._bodygen is None | |
487 | and not self._bodywillwrite |
|
487 | and not self._bodywillwrite | |
|
488 | and self._req.method != b'HEAD' | |||
488 | ): |
|
489 | ): | |
489 | raise error.ProgrammingError(b'response body not defined') |
|
490 | raise error.ProgrammingError(b'response body not defined') | |
490 |
|
491 | |||
@@ -594,6 +595,8 b' class wsgiresponse:' | |||||
594 | yield chunk |
|
595 | yield chunk | |
595 | elif self._bodywillwrite: |
|
596 | elif self._bodywillwrite: | |
596 | self._bodywritefn = write |
|
597 | self._bodywritefn = write | |
|
598 | elif self._req.method == b'HEAD': | |||
|
599 | pass | |||
597 | else: |
|
600 | else: | |
598 | error.ProgrammingError(b'do not know how to send body') |
|
601 | error.ProgrammingError(b'do not know how to send body') | |
599 |
|
602 |
@@ -151,6 +151,9 b' class _httprequesthandler(httpservermod.' | |||||
151 | def do_GET(self): |
|
151 | def do_GET(self): | |
152 | self.do_POST() |
|
152 | self.do_POST() | |
153 |
|
153 | |||
|
154 | def do_HEAD(self): | |||
|
155 | self.do_POST() | |||
|
156 | ||||
154 | def do_hgweb(self): |
|
157 | def do_hgweb(self): | |
155 | self.sent_headers = False |
|
158 | self.sent_headers = False | |
156 | path, query = _splitURI(self.path) |
|
159 | path, query = _splitURI(self.path) | |
@@ -246,7 +249,11 b' class _httprequesthandler(httpservermod.' | |||||
246 | self.send_header(*h) |
|
249 | self.send_header(*h) | |
247 | if h[0].lower() == 'content-length': |
|
250 | if h[0].lower() == 'content-length': | |
248 | self.length = int(h[1]) |
|
251 | self.length = int(h[1]) | |
249 | if self.length is None and saved_status[0] != common.HTTP_NOT_MODIFIED: |
|
252 | if ( | |
|
253 | self.length is None | |||
|
254 | and saved_status[0] != common.HTTP_NOT_MODIFIED | |||
|
255 | and self.command != 'HEAD' | |||
|
256 | ): | |||
250 | self._chunked = ( |
|
257 | self._chunked = ( | |
251 | not self.close_connection and self.request_version == 'HTTP/1.1' |
|
258 | not self.close_connection and self.request_version == 'HTTP/1.1' | |
252 | ) |
|
259 | ) |
@@ -1299,6 +1299,9 b' def archive(web):' | |||||
1299 | b'sendresponse() should not emit data if writing later' |
|
1299 | b'sendresponse() should not emit data if writing later' | |
1300 | ) |
|
1300 | ) | |
1301 |
|
1301 | |||
|
1302 | if web.req.method == b'HEAD': | |||
|
1303 | return [] | |||
|
1304 | ||||
1302 | bodyfh = web.res.getbodyfile() |
|
1305 | bodyfh = web.res.getbodyfile() | |
1303 |
|
1306 | |||
1304 | archival.archive( |
|
1307 | archival.archive( |
General Comments 0
You need to be logged in to leave comments.
Login now