Software / code / prosody
File
spec/scansion/pep_nickname.scs @ 11016:5176d9f727f6 0.11
net.http: Add request:cancel() method
This is a new API that should be used in preference to http.destroy_request()
when possible, as it ensures the callback is always called (with an error of
course).
APIs that have edge-cases where they don't call callbacks have, from experience,
shown to be difficult to work with and often lead to unintentional leaks when
the callback was expected to free up certain resources.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 08 Aug 2020 13:13:50 +0100 |
| parent | 9339:a35a636481c6 |
| child | 11714:d783716103c1 |
line wrap: on
line source
# Publishing a nickname in PEP and receiving a notification [Client] Romeo jid: romeo@localhost/nJi7BeTR password: password ----- Romeo connects Romeo sends: <iq id="4" type="set"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="http://jabber.org/protocol/nick"> <item id="current"> <nickname xmlns="http://jabber.org/protocol/nick"/> </item> </publish> </pubsub> </iq> Romeo receives: <iq id="4" to="romeo@localhost/nJi7BeTR" type="result"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="http://jabber.org/protocol/nick"> <item id="current"/> </publish> </pubsub> </iq> Romeo sends: <presence> <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> </presence> Romeo receives: <iq id="disco" to="romeo@localhost/nJi7BeTR" from="romeo@localhost" type="get"> <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> </iq> Romeo receives: <presence from="romeo@localhost/nJi7BeTR"> <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.matthewwild.co.uk/clix/" ver="jC32N+FhQoLrZ7nNQtZK3aqR0Fk="/> </presence> Romeo sends: <iq id="disco" type="result" to="romeo@localhost"> <query xmlns="http://jabber.org/protocol/disco#info" node="http://code.matthewwild.co.uk/clix/#jC32N+FhQoLrZ7nNQtZK3aqR0Fk="> <identity type="console" name="clix" category="client"/> <feature var="http://jabber.org/protocol/disco#items"/> <feature var="http://jabber.org/protocol/disco#info"/> <feature var="http://jabber.org/protocol/caps"/> <feature var="http://jabber.org/protocol/nick+notify"/> </query> </iq> Romeo receives: <message type="headline" from="romeo@localhost" to="romeo@localhost/nJi7BeTR"> <event xmlns="http://jabber.org/protocol/pubsub#event"> <items node="http://jabber.org/protocol/nick"> <item id="current"> <nickname xmlns="http://jabber.org/protocol/nick"/> </item> </items> </event> </message> Romeo sends: <presence type="unavailable"/> Romeo disconnects