Send a request with a file as request body. :param input: path to a local file to use for request body :returns:``(status, headers, body)``
(
self,
verb: str,
url: str,
parameters: dict[str, str] | None = None,
headers: dict[str, str] | None = None,
input: str | None = None,
cnx: HTTPRequestsConnectionClass | HTTPSRequestsConnectionClass | None = None,
)
| 1113 | raise ValueError("requestMultipart() Expected a str, should never happen") |
| 1114 | |
| 1115 | def requestBlob( |
| 1116 | self, |
| 1117 | verb: str, |
| 1118 | url: str, |
| 1119 | parameters: dict[str, str] | None = None, |
| 1120 | headers: dict[str, str] | None = None, |
| 1121 | input: str | None = None, |
| 1122 | cnx: HTTPRequestsConnectionClass | HTTPSRequestsConnectionClass | None = None, |
| 1123 | ) -> tuple[int, dict[str, Any], str]: |
| 1124 | """ |
| 1125 | Send a request with a file as request body. |
| 1126 | |
| 1127 | :param input: path to a local file to use for request body |
| 1128 | :returns:``(status, headers, body)`` |
| 1129 | |
| 1130 | """ |
| 1131 | if headers is None: |
| 1132 | headers = {} |
| 1133 | |
| 1134 | def encode(local_path: str) -> tuple[str, Any]: |
| 1135 | if "Content-Type" in headers: # type: ignore |
| 1136 | mime_type = headers["Content-Type"] # type: ignore |
| 1137 | else: |
| 1138 | guessed_type = mimetypes.guess_type(local_path) |
| 1139 | mime_type = guessed_type[0] if guessed_type[0] is not None else Consts.defaultMediaType |
| 1140 | f = open(local_path, "rb") |
| 1141 | return mime_type, f |
| 1142 | |
| 1143 | if input: |
| 1144 | headers["Content-Length"] = str(os.path.getsize(input)) |
| 1145 | |
| 1146 | status, responseHeaders, output = self.__requestEncode(cnx, verb, url, parameters, headers, input, encode) |
| 1147 | if isinstance(output, str): |
| 1148 | return status, responseHeaders, output |
| 1149 | raise ValueError("requestBlob() Expected a str, should never happen") |
| 1150 | |
| 1151 | def requestMemoryBlobAndCheck( |
| 1152 | self, |
no test coverage detected