From 858b743d072c7a6cbbf3eff1fffef08e76212e0e Mon Sep 17 00:00:00 2001 From: Ilya Priven Date: Thu, 11 May 2023 15:04:45 -0400 Subject: [PATCH] remove double finally --- gunicorn/workers/base_async.py | 18 ++++++++---------- gunicorn/workers/gthread.py | 18 ++++++++---------- gunicorn/workers/sync.py | 18 ++++++++---------- 3 files changed, 24 insertions(+), 30 deletions(-) diff --git a/gunicorn/workers/base_async.py b/gunicorn/workers/base_async.py index 0b7d6570..ec5d7644 100644 --- a/gunicorn/workers/base_async.py +++ b/gunicorn/workers/base_async.py @@ -109,17 +109,15 @@ class AsyncWorker(base.Worker): if self.is_already_handled(respiter): return False try: - try: - if isinstance(respiter, environ['wsgi.file_wrapper']): - resp.write_file(respiter) - else: - for item in respiter: - resp.write(item) - resp.close() - finally: - request_time = datetime.now() - request_start - self.log.access(resp, req, environ, request_time) + if isinstance(respiter, environ['wsgi.file_wrapper']): + resp.write_file(respiter) + else: + for item in respiter: + resp.write(item) + resp.close() finally: + request_time = datetime.now() - request_start + self.log.access(resp, req, environ, request_time) if hasattr(respiter, "close"): respiter.close() if resp.should_close(): diff --git a/gunicorn/workers/gthread.py b/gunicorn/workers/gthread.py index dab22fb1..9a6ad006 100644 --- a/gunicorn/workers/gthread.py +++ b/gunicorn/workers/gthread.py @@ -333,18 +333,16 @@ class ThreadWorker(base.Worker): respiter = self.wsgi(environ, resp.start_response) try: - try: - if isinstance(respiter, environ['wsgi.file_wrapper']): - resp.write_file(respiter) - else: - for item in respiter: - resp.write(item) + if isinstance(respiter, environ['wsgi.file_wrapper']): + resp.write_file(respiter) + else: + for item in respiter: + resp.write(item) - resp.close() - finally: - request_time = datetime.now() - request_start - self.log.access(resp, req, environ, request_time) + resp.close() finally: + request_time = datetime.now() - request_start + self.log.access(resp, req, environ, request_time) if hasattr(respiter, "close"): respiter.close() diff --git a/gunicorn/workers/sync.py b/gunicorn/workers/sync.py index b6350e86..d68d15cb 100644 --- a/gunicorn/workers/sync.py +++ b/gunicorn/workers/sync.py @@ -177,17 +177,15 @@ class SyncWorker(base.Worker): self.alive = False respiter = self.wsgi(environ, resp.start_response) try: - try: - if isinstance(respiter, environ['wsgi.file_wrapper']): - resp.write_file(respiter) - else: - for item in respiter: - resp.write(item) - resp.close() - finally: - request_time = datetime.now() - request_start - self.log.access(resp, req, environ, request_time) + if isinstance(respiter, environ['wsgi.file_wrapper']): + resp.write_file(respiter) + else: + for item in respiter: + resp.write(item) + resp.close() finally: + request_time = datetime.now() - request_start + self.log.access(resp, req, environ, request_time) if hasattr(respiter, "close"): respiter.close() except EnvironmentError: