Files
rmmanager/core/apirequest/request.py
T

50 lines
1.5 KiB
Python

from .object import buildObject, buildObject2
from .path import buildPath
from .headers import buildHeaders
#import os
def buildRequest(definition, outputs, resolved):
path = buildPath(definition.path, outputs, resolved)
request = {
"method": definition.method,
"path": path,
}
if hasattr(definition, "keys"):
request["object"] = buildObject(definition.keys, outputs, resolved)
if hasattr(definition, "headers"):
request["headers"] = buildHeaders(definition, request, outputs, resolved)
if hasattr(definition, "requestdata"):
###To potentially test moving requestdata to an outputs dict instead of a string
if isinstance(definition.requestdata, str):
request["data"] = outputs[definition.requestdata]
else:
request["data"] = buildObject2(
definition.requestdata,
outputs,
resolved
)
# resolveddata = definition.requestdata
#
# if isinstance(resolveddata, dict):
# request["data"] = {
# "mediaType": "30",
# "emailId": {resolved["path"]}
# }
# else:
# request["data"] = outputs[resolveddata]
if hasattr(definition, "requestfile"):
bytes = outputs[definition.requestfile]
request["files"] = {
"image": (
"image.jpg",
bytes,
"image/jpeg",
),
}
return request