Skip to content

Commit b9f83d9

Browse files
authored
openapi4filter: improve CSV resp decoder performance (#948)
* Improve csv resp decoder performance Use String Builder for string concatenation * Update req_resp_decoder.go
1 parent f66e2a1 commit b9f83d9

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

openapi3filter/req_resp_decoder.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,7 +1562,7 @@ func zipFileBodyDecoder(body io.Reader, header http.Header, schema *openapi3.Sch
15621562
func csvBodyDecoder(body io.Reader, header http.Header, schema *openapi3.SchemaRef, encFn EncodingFn) (interface{}, error) {
15631563
r := csv.NewReader(body)
15641564

1565-
var content string
1565+
var sb strings.Builder
15661566
for {
15671567
record, err := r.Read()
15681568
if err == io.EOF {
@@ -1572,8 +1572,9 @@ func csvBodyDecoder(body io.Reader, header http.Header, schema *openapi3.SchemaR
15721572
return nil, err
15731573
}
15741574

1575-
content += strings.Join(record, ",") + "\n"
1575+
sb.WriteString(strings.Join(record, ","))
1576+
sb.WriteString("\n")
15761577
}
15771578

1578-
return content, nil
1579+
return sb.String(), nil
15791580
}

0 commit comments

Comments
 (0)