50 lines
1.5 KiB
Python
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, outputs
|