diff --git a/config.go b/config.go index a9f878b..f51536d 100644 --- a/config.go +++ b/config.go @@ -1,6 +1,9 @@ package xmpp // import "gosrc.io/xmpp" -import "os" +import ( + "io" + "os" +) type Config struct { Address string @@ -12,4 +15,5 @@ type Config struct { Retry int // Number of retries for connect ConnectTimeout int // Connection timeout in seconds. Default to 15 Insecure bool // set to true to allow comms without TLS + CharsetReader func(charset string, input io.Reader) (io.Reader, error) // passed to xml decoder } diff --git a/session.go b/session.go index a058183..8259b9a 100644 --- a/session.go +++ b/session.go @@ -82,6 +82,7 @@ func (s *Session) setProxy(conn net.Conn, newConn net.Conn, o Config) { s.socketProxy = newSocketProxy(newConn, o.PacketLogger) } s.decoder = xml.NewDecoder(s.socketProxy) + s.decoder.CharsetReader = o.CharsetReader } func (s *Session) open(domain string) (f streamFeatures) {