Skip to content

Commit fb83286

Browse files
committed
Support HTTP File Upload purposes
1 parent 9365f14 commit fb83286

2 files changed

Lines changed: 39 additions & 2 deletions

File tree

include/ns.hrl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,11 @@
163163
-define(NS_STREAM_MGMT_3, <<"urn:xmpp:sm:3">>).
164164
-define(NS_HTTP_UPLOAD, <<"urn:xmpp:http:upload">>).
165165
-define(NS_HTTP_UPLOAD_0, <<"urn:xmpp:http:upload:0">>).
166+
-define(NS_HTTP_UPLOAD_PURPOSE_0, <<"urn:xmpp:http:upload:purpose:0">>).
167+
-define(NS_HTTP_UPLOAD_PURPOSE_MESSAGE_0, <<"urn:xmpp:http:upload:purpose:0#message">>).
168+
-define(NS_HTTP_UPLOAD_PURPOSE_PROFILE_0, <<"urn:xmpp:http:upload:purpose:0#profile">>).
169+
-define(NS_HTTP_UPLOAD_PURPOSE_EPHEMERAL_0, <<"urn:xmpp:http:upload:purpose:0#ephemeral">>).
170+
-define(NS_HTTP_UPLOAD_PURPOSE_PERMANENT_0, <<"urn:xmpp:http:upload:purpose:0#permanent">>).
166171
-define(NS_HTTP_UPLOAD_OLD, <<"eu:siacs:conversations:http:upload">>).
167172
-define(NS_THUMBS_1, <<"urn:xmpp:thumbs:1">>).
168173
-define(NS_NICK, <<"http://jabber.org/protocol/nick">>).

specs/xmpp_codec.spec

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4226,15 +4226,23 @@
42264226
xmlns = <<"urn:xmpp:http:upload:0">>,
42274227
module = 'xep0363',
42284228
result = {upload_request_0, '$filename', '$size', '$content-type',
4229-
'$xmlns'},
4229+
'$purpose', '$xmlns'},
42304230
attrs = [#attr{name = <<"xmlns">>},
42314231
#attr{name = <<"filename">>,
42324232
required = true},
42334233
#attr{name = <<"size">>,
42344234
dec = {dec_int, [1, infinity]},
42354235
enc = {enc_int, []},
42364236
required = true},
4237-
#attr{name = <<"content-type">>}]}).
4237+
#attr{name = <<"content-type">>}],
4238+
refs = [#ref{name = upload_purpose_message_0, label = '$purpose',
4239+
min = 0, max = 1},
4240+
#ref{name = upload_purpose_profile_0, label = '$purpose',
4241+
min = 0, max = 1},
4242+
#ref{name = upload_purpose_ephemeral_0, label = '$purpose',
4243+
min = 0, max = 1},
4244+
#ref{name = upload_purpose_permanent_0, label = '$purpose',
4245+
min = 0, max = 1}]}).
42384246

42394247
-xml(upload_get_0,
42404248
#elem{name = <<"get">>,
@@ -4295,6 +4303,30 @@
42954303
dec = {dec_utc, []},
42964304
enc = {enc_utc, []}}]}).
42974305

4306+
-xml(upload_purpose_message_0,
4307+
#elem{name = <<"message">>,
4308+
xmlns = <<"urn:xmpp:http:upload:purpose:0">>,
4309+
module = 'xep0363',
4310+
result = 'message'}).
4311+
4312+
-xml(upload_purpose_profile_0,
4313+
#elem{name = <<"profile">>,
4314+
xmlns = <<"urn:xmpp:http:upload:purpose:0">>,
4315+
module = 'xep0363',
4316+
result = 'profile'}).
4317+
4318+
-xml(upload_purpose_ephemeral_0,
4319+
#elem{name = <<"ephemeral">>,
4320+
xmlns = <<"urn:xmpp:http:upload:purpose:0">>,
4321+
module = 'xep0363',
4322+
result = 'ephemeral'}).
4323+
4324+
-xml(upload_purpose_permanent_0,
4325+
#elem{name = <<"permanent">>,
4326+
xmlns = <<"urn:xmpp:http:upload:purpose:0">>,
4327+
module = 'xep0363',
4328+
result = 'permanent'}).
4329+
42984330
-xml(push_enable,
42994331
#elem{name = <<"enable">>,
43004332
xmlns = <<"urn:xmpp:push:0">>,

0 commit comments

Comments
 (0)