Bastien Orivel
f87e2442d4
Use a BTreeMap<String, String> instead of a Vec<Attribute> to store attributes
...
This way we don't need to reimplement PartialEq for Element. It's also
way easier to get an attribute by name as we don't need to iterate over
every attribute to see if it exists.
The only side effect is that now, in the Debug output, attributes are
automatically sorted by names instead of being sorted by insertion
order.
Fixes #4
2017-04-26 23:44:58 +02:00
lumi
2aef4aacb8
linewrap license
2017-04-26 01:26:29 +02:00
Emmanuel Gil Peyrot
5d51dff9e6
disco: Bump minidom dependency to 0.2.0, which fixes xml:lang parsing.
2017-04-26 00:22:40 +01:00
Emmanuel Gil Peyrot
a0eab6c1af
ecaps2: Import Digest from digest.
2017-04-26 00:20:50 +01:00
lumi
8116c6e657
Well, that's embarrassing. Hope nobody will ever look at this commit. (if you see this, please don't look)
2017-04-26 01:15:56 +02:00
lumi
d54b002243
bump to 2.0.0, switch license to MIT
2017-04-26 01:14:16 +02:00
lumi
c6f9cc485f
Merge branch 'Eijebong/minidom-rs-fix_namespaced_attributes'
...
# Conflicts:
# src/tests.rs
2017-04-26 01:02:17 +02:00
lumi
64f212d11b
Merge branch 'fix_equality' into 'master'
...
Fix the PartialEq implementation for Element
Closes #3
See merge request !3
2017-04-25 22:44:59 +00:00
Eijebong
0d0c4b76eb
Fix the PartialEq implementation for Element
...
The order of attributes in an `Element` doesn't matter anymore.
`<elem a="b" c="d" />` and `<elem c="d" a="b" />` are now correctly
considered equal.
For that I had to derive `PartialOrd` and `Ord` for `Attribute`.
This allows us to sort cloned vectors of `Attribute` in the `PartialEq`
implementation and compare them instead of the struct `attributes`.
Fixes #3
2017-04-24 21:15:53 +02:00
Emmanuel Gil Peyrot
7fc40dbb19
ecaps2: Remove extraneous borrowing on base64::encode.
2017-04-24 20:03:05 +01:00
Emmanuel Gil Peyrot
049ef23595
jingle_ft: Implement IntoElements on Range, and change size to be an u64.
2017-04-24 19:52:41 +01:00
Emmanuel Gil Peyrot
5abf820fad
jingle_ft: Implement serialise.
2017-04-24 19:25:00 +01:00
Emmanuel Gil Peyrot
db1a87e2ee
jingle: Implement serialise.
2017-04-24 19:25:00 +01:00
Emmanuel Gil Peyrot
fa10ab4ebc
jingle: Implement From for String on all special attributes.
2017-04-24 19:25:00 +01:00
Emmanuel Gil Peyrot
90f1792ebc
jingle_ibb: Make the fields in Transport public.
2017-04-24 19:25:00 +01:00
Emmanuel Gil Peyrot
2b19a415d4
jingle_ibb: Implement serialise.
2017-04-24 19:25:00 +01:00
Emmanuel Gil Peyrot
c71b32ae24
ibb: Implement IntoAttributeValue for Stanza.
2017-04-24 19:25:00 +01:00
Maxime “pep” Buquet
1b4c0c4589
iq: Clippify
2017-04-24 19:20:35 +01:00
Eijebong
6f0e88b25b
Correctly add namespaced attributes to elements
...
Instead of adding the local_name of an attribute, if a prefix exists,
add prefix:local_name to allow users to retrieve it via the namespaced
key name.
For example, with this XML:
```
<?xml version="1.0" encoding="utf-8"?>
<root xml:lang="en" >
</root>
```
`root.attr("xml:lang").unwrap()` will now correctly return "en".
`root.attr("lang")` will not retrieve "xml:lang" value anymore.
This is a breaking change.
Fixes #2
2017-04-24 18:19:50 +02:00
Maxime “pep” Buquet
c462d230f1
ping, iq: Implement ping::serialise_ping and link to Iq.
2017-04-23 21:17:26 +01:00
Maxime “pep” Buquet
b259ab9ef2
iq: Link disco parser to Iq.
2017-04-23 21:12:27 +01:00
Maxime “pep” Buquet
04af2f3d26
Implement Iq stanzas parsing
2017-04-23 20:38:13 +01:00
Emmanuel Gil Peyrot
944cb3964e
presence: Add status as a possible payload.
2017-04-23 19:32:48 +01:00
Emmanuel Gil Peyrot
93343f3a00
Add a status parser.
2017-04-23 19:28:25 +01:00
Emmanuel Gil Peyrot
948b54d073
ecaps2: Implement blake2b.
2017-04-23 19:28:03 +01:00
Emmanuel Gil Peyrot
2c95fd6786
presence: Add ecaps2 as a possible payload.
2017-04-23 18:38:53 +01:00
Emmanuel Gil Peyrot
429abb996d
ecaps2: Implement serialise.
2017-04-23 18:36:37 +01:00
Emmanuel Gil Peyrot
20949c2832
hashes: Implement serialise.
2017-04-23 18:36:12 +01:00
Emmanuel Gil Peyrot
78e8a06ec2
Add a presence parser.
2017-04-23 17:30:23 +01:00
Emmanuel Gil Peyrot
6a56918484
ns: Add the namespaces of hashes functions we implement.
2017-04-23 17:30:07 +01:00
Emmanuel Gil Peyrot
5e802b457e
Cargo.toml: Update the jid crate to 0.2.0, which implements From<JID> on String.
2017-04-23 16:30:41 +01:00
lumi
90c4aec54f
Bump the version number up to 0.2.0.
2017-04-23 17:23:09 +02:00
lumi
bbde01160a
Add a note about not supporting RFC7622 yet.
2017-04-23 17:20:50 +02:00
lumi
1f592e101a
Merge branch 'from-str' into 'master'
...
implement From<Jid> on String
See merge request !1
2017-04-23 15:09:48 +00:00
Emmanuel Gil Peyrot
c81509744f
lib, message, jingle_ft: Remove unused imports.
2017-04-23 15:32:38 +01:00
Emmanuel Gil Peyrot
5e7ad720c3
Add a message parser, along with a dependency on jid.
2017-04-23 15:13:03 +01:00
Emmanuel Gil Peyrot
0d2fda8064
implement From<Jid> on String
2017-04-23 14:49:00 +01:00
Emmanuel Gil Peyrot
15634b6500
ping: Remove extraneous brackets.
2017-04-23 03:45:14 +01:00
Emmanuel Gil Peyrot
16a6ebd751
ibb: Simplify the FromStr using match.
2017-04-23 03:44:58 +01:00
Emmanuel Gil Peyrot
659eaee14e
data_forms: Simplify the FromStr using match.
2017-04-23 03:42:50 +01:00
Emmanuel Gil Peyrot
90db24eed8
jingle: Simplify the FromStr using match.
2017-04-23 03:41:26 +01:00
Emmanuel Gil Peyrot
7e964b167a
message_correct: Add a serialise function, and simplify the representation.
2017-04-23 03:23:13 +01:00
Emmanuel Gil Peyrot
4128c4b9ed
chatstates: Add a serialise function.
2017-04-23 03:22:42 +01:00
Emmanuel Gil Peyrot
7002578bc0
body: Test the serialise function.
2017-04-23 03:22:25 +01:00
Emmanuel Gil Peyrot
cebccb363f
eme: Add a serialise function.
2017-04-23 03:22:02 +01:00
Emmanuel Gil Peyrot
c6036194b1
delay: Add a serialise function.
2017-04-23 03:21:53 +01:00
Emmanuel Gil Peyrot
ab841dc375
receipts: Add a serialise function.
2017-04-23 03:21:21 +01:00
Emmanuel Gil Peyrot
54f4040251
attention: Simplify the payload type, and add a serialise function.
2017-04-23 03:20:52 +01:00
Emmanuel Gil Peyrot
ca6e65ad76
body: Add a serialise function.
2017-04-23 02:24:13 +01:00
Emmanuel Gil Peyrot
6d6ac8a380
body: Simplify the type of Body to an alias of String.
2017-04-22 20:49:17 +01:00