mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
34 lines
795 B
Go
34 lines
795 B
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
package utils
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"io/ioutil"
|
|
|
|
l4g "github.com/alecthomas/log4go"
|
|
)
|
|
|
|
// InfoReader logs the content of the io.Reader and returns a new io.Reader
|
|
// with the same content as the received io.Reader.
|
|
// If you pass reader by reference, it won't be re-created unless the loglevel
|
|
// includes Debug.
|
|
// If an error is returned, the reader is consumed an cannot be read again.
|
|
func InfoReader(reader io.Reader, message string) (io.Reader, error) {
|
|
var err error
|
|
l4g.Info(func() string {
|
|
content, err := ioutil.ReadAll(reader)
|
|
if err != nil {
|
|
return ""
|
|
}
|
|
|
|
reader = bytes.NewReader(content)
|
|
|
|
return message + string(content)
|
|
})
|
|
|
|
return reader, err
|
|
}
|