I am using a flask webserver (part of an eve api) and need to do an internal GET
-request.
For an external request I use this code:
url = 'http://127.0.0.1:5000/simulations'
r = requests.get(url,
headers={'Content-Type': 'application/json', 'Accept': 'application/json'},
params={'hateoas': False}
)
However, this is not working when trying to execute the request using the requests
module from a function within the flask app and raises an ConnectionRefusedError
:
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))
In order to make this request available internally, I considered to use the test_client()
of my flask application as follows:
r = app.test_client().get(url,
headers={'Content-Type': 'application/json', 'Accept': 'application/json'}
)
This is working pretty well, but I need to pass additional parameters as you can see in my first sample snippet using the requests
module. So I extended the code above to this:
r = app.test_client().get(url,
headers={'Content-Type': 'application/json', 'Accept': 'application/json'},
params={'hateoas': False}
)
Unfortunately, this raises a TypeError
:
TypeError: init() got an unexpected keyword argument 'params'
So is there a way to handle a GET
-request either using flask or eve internally?
I know that there is a get_internal
repo branch for eve delivering a development implementation of get_internal()
comparable to the other request types like post_internal()
. But I do not like to use this development branch since it is not sure whether this feature would be implemented in the next stable release.