| Index: tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
|
| diff --git a/tools/telemetry/third_party/gsutilz/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/__init__.py b/tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
|
| similarity index 59%
|
| copy from tools/telemetry/third_party/gsutilz/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/__init__.py
|
| copy to tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
|
| index a70e6515e01f13e404e77ef814accaa5ba5c157e..520eb8eb06e2f74b4229acbe111da5d587f3c5d8 100644
|
| --- a/tools/telemetry/third_party/gsutilz/third_party/gcs-oauth2-boto-plugin/gcs_oauth2_boto_plugin/__init__.py
|
| +++ b/tools/telemetry/third_party/gsutilz/third_party/boto/boto/sqs/jsonmessage.py
|
| @@ -1,4 +1,4 @@
|
| -# Copyright 2014 Google Inc. All Rights Reserved.
|
| +# Copyright (c) 2006-2008 Mitch Garnaat http://garnaat.org/
|
| #
|
| # Permission is hereby granted, free of charge, to any person obtaining a
|
| # copy of this software and associated documentation files (the
|
| @@ -18,13 +18,26 @@
|
| # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
| # IN THE SOFTWARE.
|
| +import base64
|
|
|
| -from __future__ import absolute_import
|
| +from boto.sqs.message import MHMessage
|
| +from boto.exception import SQSDecodeError
|
| +from boto.compat import json
|
|
|
| -# Import this module so that users can simply import the top-level module. Once
|
| -# imported, boto will pick up our subclasses of AuthHandler.
|
| -from gcs_oauth2_boto_plugin import oauth2_plugin
|
|
|
| -from gcs_oauth2_boto_plugin.oauth2_helper import SetFallbackClientIdAndSecret
|
| -from gcs_oauth2_boto_plugin.oauth2_helper import SetLock
|
| +class JSONMessage(MHMessage):
|
| + """
|
| + Acts like a dictionary but encodes it's data as a Base64 encoded JSON payload.
|
| + """
|
|
|
| + def decode(self, value):
|
| + try:
|
| + value = base64.b64decode(value.encode('utf-8')).decode('utf-8')
|
| + value = json.loads(value)
|
| + except:
|
| + raise SQSDecodeError('Unable to decode message', self)
|
| + return value
|
| +
|
| + def encode(self, value):
|
| + value = json.dumps(value)
|
| + return base64.b64encode(value.encode('utf-8')).decode('utf-8')
|
|
|