You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Bjorn Olsen (Jira)" <ji...@apache.org> on 2019/12/23 09:38:00 UTC
[jira] [Created] (AIRFLOW-6327) http_hook: Add json requests
payload
Bjorn Olsen created AIRFLOW-6327:
------------------------------------
Summary: http_hook: Add json requests payload
Key: AIRFLOW-6327
URL: https://issues.apache.org/jira/browse/AIRFLOW-6327
Project: Apache Airflow
Issue Type: Improvement
Components: hooks
Affects Versions: 1.10.6
Reporter: Bjorn Olsen
Assignee: Bjorn Olsen
Python requests library allows a user to send json-encoded Python objects by making use of the "json=" parameter to a request.
This handles JSON encoding of the payload and setting the correct content type header.
Example:
{code:python}
response = requests.post('https://httpbin.org/post', json={'key':'value'})
json_response = response.json()
json_response['data'] '{"key": "value"}'
json_response['headers']['Content-Type'] 'application/json'
{code}
http_hook.run() does not yet have the json= parameter which is inconvenient as then we have to pass the "data=" parameter using json.dumps and specify the correct headers.
It would be better if we can just do something like the below and let the Requests library ensure the request is valid:
{code:python}
obj = {'a':1, 'b': 'abc', 'c': [1, 2, {"d":10}]}
response = hook.run(
endpoint,
json=obj)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)