Software /
code /
prosody
File
spec/scansion/pep_pubsub_max.scs @ 12580:a9dbf657c894 0.12
util.datamapper: Improve handling of schemas with non-obvious "type"
The JSON Schema specification says that schemas are objects or booleans,
and that the 'type' property is optional and can be an array.
This module previously allowed bare type names as schemas and did not
really handle booleans.
It now handles missing 'type' properties and boolean 'true' as a schema.
Objects and arrays are guessed based on the presence of 'properties' or
'items' field.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 08 Jul 2022 17:32:48 +0200 |
parent | 11631:6641ca266d94 |
line wrap: on
line source
# PEP max_items=max [Client] Romeo jid: pep-test-maxitems@localhost password: password ----- Romeo connects Romeo sends: <iq type="set" id="pub"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="urn:xmpp:microblog:0"> <item> <entry xmlns='http://www.w3.org/2005/Atom'> <title>Hello</title> </entry> </item> </publish> <publish-options> <x xmlns="jabber:x:data" type="submit"> <field type="hidden" var="FORM_TYPE"> <value>http://jabber.org/protocol/pubsub#publish-options</value> </field> <field var="pubsub#persist_items"> <value>true</value> </field> <field var="pubsub#access_model"> <value>open</value> </field> <field var="pubsub#max_items"> <value>max</value> </field> </x> </publish-options> </pubsub> </iq> Romeo receives: <iq type="result" id="pub"> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node="urn:xmpp:microblog:0"> <item id="{scansion:any}"/> </publish> </pubsub> </iq>