Package forward implements forwarding messages.
- func Unwrap(del *delay.Delay, r xml.TokenReader) (xml.TokenReader, error)
- func Wrap(msg stanza.Message, body string, received time.Time, r xml.TokenReader) xml.TokenReader
- type Forwarded
const ( NS = "urn:xmpp:forward:0" )
Namespaces used by this package, provided as a convenience.
A list of service discovery features that are supported by this package.
Unwrap returns the contents of the forwarded data as a new token stream. If a delay element is encountered it is unmarshaled into the provided delay and not returned as part of the token stream. If a nil delay is provided the delay will be skipped if present. In case there are multiple delay elements at the top level, only the first one is considered and the others will be included in the returned stream (i.e. only the first encountered delay is unmarshalled/skipped).
Wrap forwards the provided token stream by wrapping it in a new message stanza and recording the original delivery time of the stanza. The body is in addition to the forwarded stanza and is not meant as a fallback in case the forwarded message cannot be displayed.
The token stream is expected to be a stanza, but this is not enforced.
Forwarded can be embedded into another struct along with a stanza to wrap the stanza for forwarding.
func (Forwarded) TokenReader ¶
TokenReader implements xmlstream.Marshaler.
Wrap wraps the provided token reader (which should be a stanza, but this is not enforced) to prepare it for forwarding.