Skip to content
This repository was archived by the owner on Jan 15, 2024. It is now read-only.

Commit 4c2b54f

Browse files
committed
Allow empty body
1 parent 7fd8d1c commit 4c2b54f

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

client.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,14 +182,18 @@ func (c *Client) newRequest(method, requestPath string, query url.Values, body i
182182
log.Printf("request (%s) to %s with no body data", method, url.String())
183183
} else {
184184
reader := body.(*bytes.Reader)
185-
contents := make([]byte, reader.Len())
186-
if _, err := reader.Read(contents); err != nil {
187-
return nil, fmt.Errorf("cannot read body contents for logging: %w", err)
185+
if reader.Len() == 0 {
186+
log.Printf("request (%s) to %s with no body data", method, url.String())
187+
} else {
188+
contents := make([]byte, reader.Len())
189+
if _, err := reader.Read(contents); err != nil {
190+
return nil, fmt.Errorf("cannot read body contents for logging: %w", err)
191+
}
192+
if _, err := reader.Seek(0, io.SeekStart); err != nil {
193+
return nil, fmt.Errorf("failed to seek body reader to start after logging: %w", err)
194+
}
195+
log.Printf("request (%s) to %s with body data: %s", method, url.String(), string(contents))
188196
}
189-
if _, err := reader.Seek(0, io.SeekStart); err != nil {
190-
return nil, fmt.Errorf("failed to seek body reader to start after logging: %w", err)
191-
}
192-
log.Printf("request (%s) to %s with body data: %s", method, url.String(), string(contents))
193197
}
194198
}
195199

0 commit comments

Comments
 (0)