equal
deleted
inserted
replaced
146 } |
146 } |
147 |
147 |
148 // If it's a Stanza, we try to unmarshal its innerxml |
148 // If it's a Stanza, we try to unmarshal its innerxml |
149 // into objects of the appropriate respective |
149 // into objects of the appropriate respective |
150 // types. This is specified by our extensions. |
150 // types. This is specified by our extensions. |
151 if st, ok := obj.(Stanzer) ; ok { |
151 if st, ok := obj.(Stanza) ; ok { |
152 err = parseExtended(st.GetHeader(), extStanza) |
152 err = parseExtended(st.GetHeader(), extStanza) |
153 if err != nil { |
153 if err != nil { |
154 Warn.Logf("ext unmarshal: %s", err) |
154 Warn.Logf("ext unmarshal: %s", err) |
155 break Loop |
155 break Loop |
156 } |
156 } |
248 cl.handleFeatures(obj) |
248 cl.handleFeatures(obj) |
249 case *starttls: |
249 case *starttls: |
250 cl.handleTls(obj) |
250 cl.handleTls(obj) |
251 case *auth: |
251 case *auth: |
252 cl.handleSasl(obj) |
252 cl.handleSasl(obj) |
253 case Stanzer: |
253 case Stanza: |
254 st = obj.GetHeader() |
254 st = obj.GetHeader() |
255 default: |
255 default: |
256 Warn.Logf("Unhandled non-stanza: %T %#v", x, x) |
256 Warn.Logf("Unhandled non-stanza: %T %#v", x, x) |
257 } |
257 } |
258 |
258 |