REST (python)

Request PATCH (example)

back.py

from   app.generic import ag_rest_error
import json
import logging
import requests
import uuid

# Logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)


""" It sends a python dict as a JSON REST request.
:param file_dict The dict representing the json request
:param endpoint_url_base Eg:
        http://ecs-lb-private-defensatftest-d4078e89f2ee6ec5.elb.eu-west-1.amazonaws.com:8080
:returns -
:throws -
"""
def rest_patch(endpoint_url_base, file_dict):
    method = "PATCH"
    url = endpoint_url_base + "/sub1/save?lang=en&rId=" + str(uuid.uuid4())

    headers = {
        'accept': "application/json",
        'content-type': "application/json",
        'cache-control': "no-cache",
        }

    body = file_dict


    # convert payload body from Python object to JSON and make request
    payload = json.dumps(body)

    logger.info('INI save:\n%s', payload)
    response = requests.request(method, url, data=payload, headers=headers)
    logger.info('END save: %d', response.status_code)
    ag_rest_error(response)

    # return Nothing (response status code expected 204 - no body)