Source code for slixmpp.plugins.xep_0363.stanza
# slixmpp: The Slick XMPP Library
# Copyright (C) 2018 Emmanuel Gil Peyrot
# This file is part of slixmpp.
# See the file LICENSE for copying permission.
from typing import ClassVar
from slixmpp.xmlstream import ElementBase
[docs]
class Request(ElementBase):
plugin_attrib = "http_upload_request"
name = "request"
namespace = "urn:xmpp:http:upload:0"
interfaces: ClassVar[set[str]] = {"filename", "size", "content-type"}
[docs]
class Slot(ElementBase):
plugin_attrib = "http_upload_slot"
name = "slot"
namespace = "urn:xmpp:http:upload:0"
[docs]
class Put(ElementBase):
plugin_attrib = "put"
name = "put"
namespace = "urn:xmpp:http:upload:0"
interfaces: ClassVar[set[str]] = {"url"}
[docs]
class Get(ElementBase):
plugin_attrib = "get"
name = "get"
namespace = "urn:xmpp:http:upload:0"
interfaces: ClassVar[set[str]] = {"url"}
PURPOSE_NAMESPACE = "urn:xmpp:http:upload:purpose:0"
[docs]
class MessagePurpose(ElementBase):
namespace = PURPOSE_NAMESPACE
plugin_attrib = name = "message"
[docs]
class ProfilePurpose(ElementBase):
namespace = PURPOSE_NAMESPACE
plugin_attrib = name = "profile"
[docs]
class EphemeralPurpose(ElementBase):
namespace = PURPOSE_NAMESPACE
plugin_attrib = name = "ephemeral"
[docs]
class PermanentPurpose(ElementBase):
namespace = PURPOSE_NAMESPACE
plugin_attrib = name = "permanent"