(self)
| 184 | return len(headers) + file_length |
| 185 | |
| 186 | def render_headers(self) -> bytes: |
| 187 | if not hasattr(self, "_headers"): |
| 188 | parts = [ |
| 189 | b"Content-Disposition: form-data; ", |
| 190 | _format_form_param("name", self.name), |
| 191 | ] |
| 192 | if self.filename: |
| 193 | filename = _format_form_param("filename", self.filename) |
| 194 | parts.extend([b"; ", filename]) |
| 195 | for header_name, header_value in self.headers.items(): |
| 196 | key, val = f"\r\n{header_name}: ".encode(), header_value.encode() |
| 197 | parts.extend([key, val]) |
| 198 | parts.append(b"\r\n\r\n") |
| 199 | self._headers = b"".join(parts) |
| 200 | |
| 201 | return self._headers |
| 202 | |
| 203 | def render_data(self) -> typing.Iterator[bytes]: |
| 204 | if isinstance(self.file, (str, bytes)): |
no test coverage detected