From e9a2309e0a387ee9de429bb50bac9b23cf260d47 Mon Sep 17 00:00:00 2001 From: "DeJaeger, Darren (dd118r)" Date: Wed, 23 Jun 2021 12:06:14 -0400 Subject: [PATCH] Changes for new version of falcon Moving to falcon 3.0.0+ brings in some changes to the response object. One of those is the deprecation of the "body" response field. This PS attempts to get ahead and make the necessary changes to no longer use deprecated fields. Change-Id: Iac5d8cd2c658c337dfe7937db8124f3107d77e91 --- armada/api/__init__.py | 2 +- armada/api/controller/armada.py | 2 +- armada/api/controller/metrics.py | 2 +- armada/api/controller/rollback.py | 2 +- armada/api/controller/test.py | 6 +++--- armada/api/controller/tiller.py | 4 ++-- armada/api/controller/validation.py | 2 +- armada/api/controller/versions.py | 2 +- armada/api/middleware.py | 2 +- armada/exceptions/base_exception.py | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/armada/api/__init__.py b/armada/api/__init__.py index dec7c647..8f1f3f47 100644 --- a/armada/api/__init__.py +++ b/armada/api/__init__.py @@ -79,7 +79,7 @@ class BaseResource(object): raise Exception("%s: Invalid JSON in body: %s" % (req.path, jex)) def return_error(self, resp, status_code, message="", retry=False): - resp.body = json.dumps( + resp.text = json.dumps( { 'type': 'error', 'message': message, diff --git a/armada/api/controller/armada.py b/armada/api/controller/armada.py index 2007f0e4..577afd7c 100644 --- a/armada/api/controller/armada.py +++ b/armada/api/controller/armada.py @@ -71,7 +71,7 @@ class Apply(api.BaseResource): try: with self.get_tiller(req, resp) as tiller: msg = self.handle(req, documents, tiller) - resp.body = json.dumps({ + resp.text = json.dumps({ 'message': msg, }) resp.content_type = 'application/json' diff --git a/armada/api/controller/metrics.py b/armada/api/controller/metrics.py index 0ad7f95b..263d18c4 100644 --- a/armada/api/controller/metrics.py +++ b/armada/api/controller/metrics.py @@ -34,5 +34,5 @@ class Metrics(api.BaseResource): return self.return_error( resp, falcon.HTTP_500, message=err_message) resp.content_type = content_type - resp.body = output + resp.text = output resp.status = falcon.HTTP_200 diff --git a/armada/api/controller/rollback.py b/armada/api/controller/rollback.py index 08c72808..f51406a4 100644 --- a/armada/api/controller/rollback.py +++ b/armada/api/controller/rollback.py @@ -33,7 +33,7 @@ class Rollback(api.BaseResource): try: with self.get_tiller(req, resp) as tiller: msg = self.handle(req, release, tiller) - resp.body = json.dumps({ + resp.text = json.dumps({ 'message': msg, }) resp.content_type = 'application/json' diff --git a/armada/api/controller/test.py b/armada/api/controller/test.py index 232ed0db..229fac47 100644 --- a/armada/api/controller/test.py +++ b/armada/api/controller/test.py @@ -53,7 +53,7 @@ class TestReleasesReleaseNameController(api.BaseResource): 'message': 'MESSAGE: Test Fail' } - resp.body = json.dumps(msg) + resp.text = json.dumps(msg) resp.status = falcon.HTTP_200 resp.content_type = 'application/json' except LockException as e: @@ -100,7 +100,7 @@ class TestReleasesManifestController(api.BaseResource): resp_body['code'] = 400 self.error(req.context, resp_body['message']) - resp.body = json.dumps(resp_body) + resp.text = json.dumps(resp_body) return result def _validate_documents(self, req, resp, documents): @@ -170,5 +170,5 @@ class TestReleasesManifestController(api.BaseResource): message['test']['skipped'].append(release_name) resp.status = falcon.HTTP_200 - resp.body = json.dumps(message) + resp.text = json.dumps(message) resp.content_type = 'application/json' diff --git a/armada/api/controller/tiller.py b/armada/api/controller/tiller.py index b820d42b..6baf78d2 100644 --- a/armada/api/controller/tiller.py +++ b/armada/api/controller/tiller.py @@ -35,7 +35,7 @@ class Status(api.BaseResource): with self.get_tiller(req, resp) as tiller: message = self.handle(tiller) resp.status = falcon.HTTP_200 - resp.body = json.dumps(message) + resp.text = json.dumps(message) resp.content_type = 'application/json' except Exception as e: @@ -66,7 +66,7 @@ class Release(api.BaseResource): try: with self.get_tiller(req, resp) as tiller: releases = self.handle(tiller) - resp.body = json.dumps({ + resp.text = json.dumps({ 'releases': releases, }) resp.content_type = 'application/json' diff --git a/armada/api/controller/validation.py b/armada/api/controller/validation.py index cb05b494..bf440635 100644 --- a/armada/api/controller/validation.py +++ b/armada/api/controller/validation.py @@ -79,7 +79,7 @@ class Validate(api.BaseResource): resp_body['message'] = 'Armada validations failed' resp_body['code'] = 400 - resp.body = json.dumps(resp_body) + resp.text = json.dumps(resp_body) except Exception as ex: err_message = 'Failed to validate Armada Manifest' self.logger.error(err_message, exc_info=ex) diff --git a/armada/api/controller/versions.py b/armada/api/controller/versions.py index a8e156b2..975000a6 100644 --- a/armada/api/controller/versions.py +++ b/armada/api/controller/versions.py @@ -27,7 +27,7 @@ class Versions(api.BaseResource): def on_get(self, req, resp): resp.status = falcon.HTTP_200 - resp.body = json.dumps( + resp.text = json.dumps( {'v1.0': { 'path': '/api/v1.0', 'status': 'stable' diff --git a/armada/api/middleware.py b/armada/api/middleware.py index bfdf03f3..abb76c97 100644 --- a/armada/api/middleware.py +++ b/armada/api/middleware.py @@ -156,7 +156,7 @@ class LoggingMiddleware(object): user or '-', req_id or '-', external_ctx or '-', end_user or '-', req.method, req.uri, resp.status) - self.logger.debug("Response body:%s", resp.body) + self.logger.debug("Response text:%s", resp.text) def _log_headers(self, headers): """ Log request headers, while scrubbing sensitive values diff --git a/armada/exceptions/base_exception.py b/armada/exceptions/base_exception.py index f6efc30c..1a9fd3e9 100644 --- a/armada/exceptions/base_exception.py +++ b/armada/exceptions/base_exception.py @@ -134,7 +134,7 @@ def format_error_resp( 'retry': retry } - resp.body = json.dumps(error_response, default=str) + resp.text = json.dumps(error_response, default=str) resp.content_type = 'application/json' resp.status = status_code