Skip to content

Commit 6f11deb

Browse files
committed
Refactor multipart request handling and logging
1 parent 3237211 commit 6f11deb

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

httpclient/multipartrequest.go

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,15 @@ func (c *Client) DoMultiPartRequest(method, endpoint string, files map[string][]
7676
return nil, err
7777
}
7878

79-
// Apply custom cookies
79+
// Set custom cookies
8080
cookiejar.ApplyCustomCookies(req, c.clientConfig.ClientOptions.Cookies.CustomCookies, c.Logger)
8181

82-
// Apply common headers
83-
setMultiPartHeaders(req, contentType, endpoint, c)
82+
// Set headers
83+
req.Header.Set("Content-Type", contentType)
84+
85+
headerHandler := headers.NewHeaderHandler(req, c.Logger, c.APIHandler, c.AuthTokenHandler)
86+
headerHandler.SetRequestHeaders(endpoint)
87+
headerHandler.LogHeaders(c.clientConfig.ClientOptions.Logging.HideSensitiveData)
8488

8589
req = req.WithContext(ctx)
8690

@@ -142,7 +146,7 @@ func addFilePart(writer *multipart.Writer, fieldName, filePath string, contentTy
142146
contentType = ct
143147
}
144148

145-
header := CustomFormDataHeader(fieldName, filepath.Base(filePath), contentType, headersMap[fieldName])
149+
header := setFormDataPartHeader(fieldName, filepath.Base(filePath), contentType, headersMap[fieldName])
146150

147151
part, err := writer.CreatePart(header)
148152
if err != nil {
@@ -182,8 +186,8 @@ func addFormField(writer *multipart.Writer, key, val string, log logger.Logger)
182186
return nil
183187
}
184188

185-
// CustomFormDataHeader creates a textproto.MIMEHeader for a form data field with the provided field name, file name, content type, and custom headers.
186-
func CustomFormDataHeader(fieldname, filename, contentType string, customHeaders http.Header) textproto.MIMEHeader {
189+
// setFormDataPartHeader creates a textproto.MIMEHeader for a form data field with the provided field name, file name, content type, and custom headers.
190+
func setFormDataPartHeader(fieldname, filename, contentType string, customHeaders http.Header) textproto.MIMEHeader {
187191
header := textproto.MIMEHeader{}
188192
header.Set("Content-Disposition", fmt.Sprintf(`form-data; name="%s"; filename="%s"`, fieldname, filename))
189193
header.Set("Content-Type", contentType)
@@ -322,12 +326,3 @@ func logMultiPartRequestBody(body *bytes.Buffer, log logger.Logger) {
322326

323327
log.Info("Request body preview", zap.String("body", loggedBody))
324328
}
325-
326-
// setMultiPartHeaders sets common headers for the request
327-
func setMultiPartHeaders(req *http.Request, contentType string, endpoint string, c *Client) {
328-
req.Header.Set("Content-Type", contentType)
329-
330-
headerHandler := headers.NewHeaderHandler(req, c.Logger, c.APIHandler, c.AuthTokenHandler)
331-
headerHandler.SetRequestHeaders(endpoint)
332-
headerHandler.LogHeaders(c.clientConfig.ClientOptions.Logging.HideSensitiveData)
333-
}

0 commit comments

Comments
 (0)