(self)
| 184 | return len(headers) + file_length |
| 185 | |
| 186 | def render_headers(self) -> bytes: |
| 187 | if not hasattr(self, class="st">"_headers"): |
| 188 | parts = [ |
| 189 | bclass="st">"Content-Disposition: form-data; ", |
| 190 | _format_form_param(class="st">"name", self.name), |
| 191 | ] |
| 192 | if self.filename: |
| 193 | filename = _format_form_param(class="st">"filename", self.filename) |
| 194 | parts.extend([bclass="st">"; ", filename]) |
| 195 | for header_name, header_value in self.headers.items(): |
| 196 | key, val = fclass="st">"\r\n{header_name}: ".encode(), header_value.encode() |
| 197 | parts.extend([key, val]) |
| 198 | parts.append(bclass="st">"\r\n\r\n") |
| 199 | self._headers = bclass="st">"".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