

def get_concrete_response(self):
    try:
        result = self.get_data_response()
    except NoViewMethod as exc:
        return HTTPUnsupportedMediaType(body=render_error_page(415, exc, mimetype=self.mimetype), content_type='text/html')
    except InvalidInput as exc:
        request = make_duplicate_request(self.request)
        request.method = 'GET'
        c = HTTPController(request, self.manifest, self.model_mock, errors=exc)
        response = c.get_response()
        response.status_int = 400
        return response
    except NotAuthorized as exc:
        return HTTPForbidden(body=render_error_page(403, exc, mimetype=self.mimetype), content_type='text/html')
    except (DataNotFound, ProgramNotFound) as exc:
        return HTTPNotFound(body=render_error_page(404, exc, mimetype=self.mimetype), content_type='text/html')
    if (type(result['body']) == Redirection):
        response = HTTPFound(location=result['body'].path)
    else:
        lazy = None
        body = body['body']
        if (type(body) == tuple):
            lazy = body
            body = ''
        if hasattr(body, 'read'):
            body = body.read()
        response = Response(status=200, body=body, content_type=result['mimetype'])
        response.lazy_data = lazy
    return response

dataset/ETHPy150Open priestc/giotto/giotto/controllers/http.py HTTPController.get_concrete_response/VarMisuse@219/283 `result`->`body`