diff --git a/src/milla/app.py b/src/milla/app.py index 67e2392..e53f9ce 100644 --- a/src/milla/app.py +++ b/src/milla/app.py @@ -75,6 +75,11 @@ class BaseApplication(object): allowed_methods = self._find_attr(func, 'allowed_methods') except AttributeError: allowed_methods = milla.DEFAULT_METHODS + if request.method == 'HEAD': + request.real_method = 'HEAD' + request.method = 'GET' + else: + request.real_method = request.method if request.method not in allowed_methods: allow_header = {'Allow': ', '.join(allowed_methods)} if request.method == 'OPTIONS': @@ -99,11 +104,7 @@ class BaseApplication(object): if isinstance(response, _string) or not response: response = request.ResponseClass(response) - if environ['REQUEST_METHOD'] == 'HEAD': - start_response(response.status, response.headerlist) - return '' - else: - return response(environ, start_response) + return response(environ, start_response) def _call_after(self, func): try: