| 202 | } |
| 203 | |
| 204 | Result HttpMultipartWriter::addField(StringSpan fieldName, StringSpan value) |
| 205 | { |
| 206 | SC_TRY_MSG(boundary.sizeInBytes() > 0, "HttpMultipartWriter::addField boundary not set"); |
| 207 | SC_TRY_MSG(not fieldName.isEmpty(), "HttpMultipartWriter::addField empty field name"); |
| 208 | SC_TRY_MSG(scHttpMultipartQuotedParameterIsSafe(fieldName), "HttpMultipartWriter::addField unsafe field name"); |
| 209 | SC_TRY_MSG(numParts < MaxParts, "HttpMultipartWriter::addField too many parts"); |
| 210 | Part& part = parts[numParts++]; |
| 211 | part.partName = fieldName; |
| 212 | part.fileName = {}; |
| 213 | part.contentType = {}; |
| 214 | part.body = value.toCharSpan(); |
| 215 | return Result(true); |
| 216 | } |
| 217 | |
| 218 | Result HttpMultipartWriter::addFile(StringSpan fieldName, StringSpan fileName, Span<const char> body, |
| 219 | StringSpan contentType) |