introduce DebugWriter

This allows to use a different writer than os.Stderr to write debugging
output to.
This commit is contained in:
Frank Braun 2018-04-19 21:38:23 +00:00
parent 7ec2b8b7de
commit 04ea54f191

View File

@ -45,6 +45,9 @@ const (
// Default TLS configuration options // Default TLS configuration options
var DefaultConfig tls.Config var DefaultConfig tls.Config
// DebugWriter is the writer used to write debugging output to.
var DebugWriter io.Writer = os.Stderr
// Cookie is a unique XMPP session identifier // Cookie is a unique XMPP session identifier
type Cookie uint64 type Cookie uint64
@ -524,7 +527,7 @@ func (c *Client) startTLSIfRequired(f *streamFeatures, o *Options, domain string
// will be returned. // will be returned.
func (c *Client) startStream(o *Options, domain string) (*streamFeatures, error) { func (c *Client) startStream(o *Options, domain string) (*streamFeatures, error) {
if o.Debug { if o.Debug {
c.p = xml.NewDecoder(tee{c.conn, os.Stderr}) c.p = xml.NewDecoder(tee{c.conn, DebugWriter})
} else { } else {
c.p = xml.NewDecoder(c.conn) c.p = xml.NewDecoder(c.conn)
} }