Skip to content

Commit d0a53ad

Browse files
committed
Moved rest_template as services
1 parent 65c8d79 commit d0a53ad

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed
Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,20 @@
44
import requests
55
from flask import current_app
66

7+
from pyms.flask.services.driver import DriverService
8+
79
DATA = 'data'
810

911

10-
class Request(object):
12+
class Service(DriverService):
13+
service = "requests"
14+
default_values = {
15+
"data": ""
16+
}
1117

12-
def __init__(self):
18+
def __init__(self, service, *args, **kwargs):
1319
"""Initialization for trace headers propagation"""
14-
self._tracer = current_app.tracer
20+
super().__init__(service, *args, **kwargs)
1521

1622
def insert_trace_headers(self, headers):
1723
"""Inject trace headers if enabled.
@@ -20,6 +26,7 @@ def insert_trace_headers(self, headers):
2026
2127
:rtype: dict
2228
"""
29+
self._tracer = current_app.tracer
2330
try:
2431
# FLASK https://github.com/opentracing-contrib/python-flask
2532
span = self._tracer.get_span()
@@ -69,7 +76,7 @@ def get(self, url, path_params=None, params=None, headers=None, **kwargs):
6976
:rtype: requests.Response
7077
"""
7178

72-
full_url = Request._build_url(url, path_params)
79+
full_url = self._build_url(url, path_params)
7380
headers = self._get_headers(headers)
7481
current_app.logger.info("Get with url {}, params {}, headers {}, kwargs {}".
7582
format(full_url, params, headers, kwargs))
@@ -94,7 +101,10 @@ def get_for_object(self, url, path_params=None, params=None, headers=None, **kwa
94101
response = self.get(url, path_params=path_params, params=params, headers=headers, **kwargs)
95102

96103
try:
97-
return response.json().get(DATA, {})
104+
data = response.json()
105+
if self.config.data:
106+
data = data.get(self.config.data, {})
107+
return data
98108
except ValueError:
99109
current_app.logger.warning("Response.content is not a valid json {}".format(response.content))
100110
return {}
@@ -113,7 +123,7 @@ def post(self, url, path_params=None, data=None, json=None, headers=None, **kwar
113123
:rtype: requests.Response
114124
"""
115125

116-
full_url = Request._build_url(url, path_params)
126+
full_url = self._build_url(url, path_params)
117127
headers = self._get_headers(headers)
118128
current_app.logger.info("Post with url {}, data {}, json {}, headers {}, kwargs {}".format(full_url, data, json,
119129
headers, kwargs))
@@ -158,7 +168,7 @@ def put(self, url, path_params=None, data=None, headers=None, **kwargs):
158168
:rtype: requests.Response
159169
"""
160170

161-
full_url = Request._build_url(url, path_params)
171+
full_url = self._build_url(url, path_params)
162172
headers = self._get_headers(headers)
163173
current_app.logger.info("Put with url {}, data {}, headers {}, kwargs {}".format(full_url, data, headers,
164174
kwargs))
@@ -200,7 +210,7 @@ def delete(self, url, path_params=None, headers=None, **kwargs):
200210
:rtype: requests.Response
201211
"""
202212

203-
full_url = Request._build_url(url, path_params)
213+
full_url = self._build_url(url, path_params)
204214
headers = self._get_headers(headers)
205215
current_app.logger.info("Delete with url {}, headers {}, kwargs {}".format(full_url, headers, kwargs))
206216
response = requests.delete(full_url, headers=headers, **kwargs)

tests/config-tests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
pyms:
2+
requests:
3+
data: data
24
swagger:
35
path: ""
46
file: "swagger.yaml"

tests/tests_rest_template.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
from pyms.constants import CONFIGMAP_FILE_ENVIRONMENT
1010
from pyms.flask.app import Microservice
11-
from pyms.rest_template.rest_template import Request
1211

1312

1413
class RequestTests(unittest.TestCase):
@@ -22,7 +21,7 @@ def setUp(self):
2221
ms = Microservice(service="my-ms", path=__file__)
2322
self.app = ms.create_app()
2423
with self.app.app_context():
25-
self.request = Request()
24+
self.request = ms.requests
2625

2726
@requests_mock.Mocker()
2827
def test_get(self, mock_request):

0 commit comments

Comments
 (0)