Skip to content

Commit

Permalink
refactor: mime/multipart: update Part field names for consistency
Browse files Browse the repository at this point in the history
  • Loading branch information
grokify committed Jan 12, 2025
1 parent 4dd5118 commit eda816a
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 39 deletions.
8 changes: 4 additions & 4 deletions mime/multipartutil/multipart_simple.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ func (ms MultipartSimple) Part() (Part, error) {
return Part{}, err
} else {
return Part{
Type: PartTypeRaw,
ContentType: ct,
Base64Encode: false,
RawBody: []byte(body),
Type: PartTypeRaw,
ContentType: ct,
BodyEncodeBase64: false,
BodyDataRaw: []byte(body),
}, nil
}
}
Expand Down
32 changes: 16 additions & 16 deletions mime/multipartutil/multipart_simple_alternative.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ func NewPartAlternativeOrNot(text, html []byte) (Part, error) {
return mps.Part()
} else if len(html) > 0 {
return Part{
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextHTMLUtf8,
Base64Encode: false,
RawBody: html,
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextHTMLUtf8,
BodyEncodeBase64: false,
BodyDataRaw: html,
}, nil
} else {
return Part{
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextPlainUtf8,
Base64Encode: false,
RawBody: text,
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextPlainUtf8,
BodyEncodeBase64: false,
BodyDataRaw: text,
}, nil
}
}
Expand All @@ -30,15 +30,15 @@ func NewMultipartSimpleAlternative(text, html []byte) MultipartSimple {
ContentType: httputilmore.ContentTypeMultipartAlternative,
Parts: []Part{
{
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextPlain,
Base64Encode: false,
RawBody: text,
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextPlain,
BodyEncodeBase64: false,
BodyDataRaw: text,
}, {
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextHTMLUtf8,
Base64Encode: false,
RawBody: html,
Type: PartTypeRaw,
ContentType: httputilmore.ContentTypeTextHTMLUtf8,
BodyEncodeBase64: false,
BodyDataRaw: html,
},
},
}
Expand Down
38 changes: 19 additions & 19 deletions mime/multipartutil/part.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ type Part struct {
Name string
ContentType string
ContentDisposition string // short
Base64Encode bool
Filepath string
JSONBody any
RawBody []byte
RawHeader textproto.MIMEHeader
HeaderRaw textproto.MIMEHeader
BodyDataFilepath string
BodyDataJSON any
BodyDataRaw []byte
BodyEncodeBase64 bool
}

// HeaderBodyFilepath sets Content-Disposition and Content-Type.
Expand All @@ -42,25 +42,25 @@ func (p Part) HeaderBodyFilepath() (textproto.MIMEHeader, []byte, error) {
header.Add(hum.HeaderContentDisposition, cd)
}

_, filename := filepath.Split(p.Filepath)
_, filename := filepath.Split(p.BodyDataFilepath)
filename = strings.TrimSpace(filename)
mimeType := mime.TypeByExtension(filepath.Ext(p.Filepath))
mimeType := mime.TypeByExtension(filepath.Ext(p.BodyDataFilepath))
if len(mimeType) > 0 {
header.Add(hum.HeaderContentType, mimeType)
}

for k, vals := range p.RawHeader {
for k, vals := range p.HeaderRaw {
for _, v := range vals {
header.Add(k, v)
}
}

body, err := os.ReadFile(p.Filepath)
body, err := os.ReadFile(p.BodyDataFilepath)
if err != nil {
return header, []byte{}, err
}

if p.Base64Encode {
if p.BodyEncodeBase64 {
header.Add(hum.HeaderContentTransferEncoding, "base64")
body = []byte(base64.StdEncoding.EncodeToString(body))
}
Expand All @@ -77,9 +77,9 @@ func (p Part) FilepathToRaw() (Part, error) {
return Part{}, err
}
return Part{
Type: PartTypeRaw,
RawHeader: header,
RawBody: body,
Type: PartTypeRaw,
HeaderRaw: header,
BodyDataRaw: body,
}, nil
}

Expand All @@ -90,7 +90,7 @@ func (p *Part) ContentDispositionHeader() string {
if name != "" {
params["name"] = name
}
_, filename := filepath.Split(p.Filepath)
_, filename := filepath.Split(p.BodyDataFilepath)
if filename = strings.TrimSpace(filename); filename != "" {
params["filename"] = filename
}
Expand All @@ -108,12 +108,12 @@ func (p *Part) HeaderBodyJSON() (textproto.MIMEHeader, []byte, error) {

header.Add(hum.HeaderContentType, hum.ContentTypeAppJSONUtf8)

body, err := json.Marshal(p.JSONBody)
body, err := json.Marshal(p.BodyDataJSON)
if err != nil {
return header, []byte{}, err
}

if p.Base64Encode {
if p.BodyEncodeBase64 {
header.Add(hum.HeaderContentTransferEncoding, "base64")
body = []byte(base64.StdEncoding.EncodeToString(body))
}
Expand All @@ -126,12 +126,12 @@ func (p Part) HeaderBodyRaw() (textproto.MIMEHeader, []byte, error) {
if strings.TrimSpace(p.ContentType) != "" {
header.Add(hum.HeaderContentType, p.ContentType)
}
body := p.RawBody
if p.Base64Encode {
body := p.BodyDataRaw
if p.BodyEncodeBase64 {
header.Add(hum.HeaderContentTransferEncoding, "base64")
body = []byte(base64.StdEncoding.EncodeToString(body))
}
for k, vals := range p.RawHeader {
for k, vals := range p.HeaderRaw {
for _, v := range vals {
header.Add(k, v)
}
Expand Down

0 comments on commit eda816a

Please sign in to comment.