Commit graph

2252 commits

Author SHA1 Message Date
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
Emmanuel Gil Peyrot
24d563ff18 jingle: Carry the minidom Element for description, transport and security. 2017-04-22 19:30:17 +01:00
Emmanuel Gil Peyrot
ff5be32a0e Add a JingleIBB parser. 2017-04-22 19:15:48 +01:00
Emmanuel Gil Peyrot
22ec4b1913 ibb: Improve handling of optional stanza attribute. 2017-04-22 19:15:29 +01:00
Emmanuel Gil Peyrot
fbb609485b Add a JingleFT parser. 2017-04-22 17:39:21 +01:00
Emmanuel Gil Peyrot
000e5a50c2 error: Add ParseIntError to the possible errors. 2017-04-22 17:39:00 +01:00
Emmanuel Gil Peyrot
edc5961a79 hashes: Implement PartialEq on Hash. 2017-04-22 17:38:36 +01:00