@@ -67,7 +67,7 @@ type UploadState struct {
67
67
func (c * Client ) DoMultiPartRequest (method , endpoint string , files map [string ][]string , formDataFields map [string ]string , fileContentTypes map [string ]string , formDataPartHeaders map [string ]http.Header , encodingType string , out interface {}) (* http.Response , error ) {
68
68
if encodingType != "byte" && encodingType != "base64" {
69
69
c .Sugar .Errorw ("Invalid encoding type specified" , zap .String ("encodingType" , encodingType ))
70
- return nil , fmt .Errorf ("invalid encoding type: %s. Must be 'raw' or 'base64'" , encodingType )
70
+ return nil , fmt .Errorf ("invalid encoding type: %s. Must be 'byte' for rawBytes or 'base64' for base64 encoded content " , encodingType )
71
71
}
72
72
73
73
if method != http .MethodPost && method != http .MethodPut {
@@ -215,7 +215,17 @@ func createStreamingMultipartRequestBody(files map[string][]string, formDataFiel
215
215
}
216
216
217
217
// addFilePartWithEncoding adds a file part to the multipart writer with specified encoding.
218
- // Supports both raw file content and base64 encoding based on encodingType parameter.
218
+ // Parameters:
219
+ // - writer: The multipart writer used to construct the request body
220
+ // - fieldName: The name of the form field for this file part
221
+ // - filePath: Path to the file to be uploaded
222
+ // - fileContentTypes: Map of content types for each file field
223
+ // - formDataPartHeaders: Map of custom headers for each form field
224
+ // - encodingType: The encoding to use ('byte' for raw bytes or 'base64' for base64 encoding)
225
+ // - sugar: Logger for progress and debug information
226
+ //
227
+ // Returns:
228
+ // - error: Any error encountered during the file part creation or upload process
219
229
func addFilePartWithEncoding (writer * multipart.Writer , fieldName , filePath string , fileContentTypes map [string ]string , formDataPartHeaders map [string ]http.Header , encodingType string , sugar * zap.SugaredLogger ) error {
220
230
file , err := os .Open (filePath )
221
231
if err != nil {
@@ -264,6 +274,15 @@ func addFilePartWithEncoding(writer *multipart.Writer, fieldName, filePath strin
264
274
}
265
275
266
276
// createFilePartHeader creates the MIME header for a file part with the specified encoding type.
277
+ // Parameters:
278
+ // - fieldname: The name of the form field
279
+ // - filename: The name of the file being uploaded
280
+ // - contentType: The content type of the file
281
+ // - customHeaders: Additional headers to include in the part
282
+ // - encodingType: The encoding being used ('byte' or 'base64')
283
+ //
284
+ // Returns:
285
+ // - textproto.MIMEHeader: The constructed MIME header for the file part
267
286
func createFilePartHeader (fieldname , filename , contentType string , customHeaders http.Header , encodingType string ) textproto.MIMEHeader {
268
287
header := textproto.MIMEHeader {}
269
288
header .Set ("Content-Disposition" , fmt .Sprintf (`form-data; name="%s"; filename="%s"` , fieldname , filepath .Base (filename )))
0 commit comments