Matt Goodall
cc012762e9
Replace Send/Recv funcs with In/Out channels.
...
Basically, make the channels public and just let the client handle a
stream/net error if it's interested.
This simplifies the API a little and also allows an application to
select {} from the XMPP channel and any other channels at the same time.
2012-07-18 11:22:59 +01:00
Matt Goodall
e22b95e43e
Add way to peek at Iq's payload element.
2012-07-16 16:06:13 +01:00
Matt Goodall
91b33a0f3d
Mention a couple of bugs to fix at some point.
2012-07-16 16:04:46 +01:00
Matt Goodall
b439198518
Convert FilterFn into the Matcher/MatcherFunc interface/adapter pair.
...
"Matcher" is a better name for how it's used. It also allows other types
to implement the interface.
2012-07-16 12:02:05 +01:00
Matt Goodall
17d143cb2c
Add client session establishment.
2012-07-13 11:23:49 +01:00
Matt Goodall
ba349b1058
Add Iq.Error and define xml tags for Error type.
2012-07-13 11:22:51 +01:00
Matt Goodall
466ab47e09
Add debug option to see XML stanzas.
2012-07-13 11:15:47 +01:00
Matt Goodall
1ab83b491b
Add component handshake stanza namespace.
2012-07-12 01:17:27 +01:00
Matt Goodall
7cc19606e1
Oops, fix tail.go for new Stream config.
2012-07-12 01:16:21 +01:00
Matt Goodall
e95528641b
Combine Stream's Decode and DecodeElement methods.
2012-07-12 00:56:35 +01:00
Matt Goodall
f97ed9ea37
Remove element name match test from Stream.Next().
...
Only one place still used it, so it might as well go.
2012-07-12 00:48:44 +01:00
Matt Goodall
6dfd9e096b
Documentation tweaks and additions.
2012-07-12 00:40:55 +01:00
Matt Goodall
20c380ebc6
Add UUID4 func and use it instead of hard-coded <iq/> ids.
2012-07-12 00:38:51 +01:00
Matt Goodall
909d0f5fac
Make example code easier to read with a bit of log-and-die trickery.
2012-07-12 00:38:51 +01:00
Matt Goodall
424c06855c
Make stanza logging in the Stream optional.
2012-07-12 00:38:51 +01:00
Matt Goodall
2c5fbc7122
Log incoming stanzas before they're unmarshaled.
...
A couple of bits in stream.go are commented out at the moment. They'll
be back in a moment, once the send/recv logging is optional.
2012-07-11 23:24:32 +01:00
Matt Goodall
318a97947b
Read incoming start element explicit part of sending outgoing start element.
2012-07-11 23:24:32 +01:00
Matt Goodall
30441cacf4
Fix typo.
2012-07-11 23:24:26 +01:00
Matt Goodall
de92cf1a55
Some JID and XML writer tests.
2012-07-11 15:57:06 +01:00
Matt Goodall
9013ad6a6a
Remove extra "has" from func comment.
2012-07-11 15:55:37 +01:00
Matt Goodall
85472a72b4
Ensure all methods that decode a stanza go via the same route.
2012-07-11 15:50:27 +01:00
Matt Goodall
2a11a800da
Extract writeXMLStartElement func.
2012-07-11 15:35:52 +01:00
Matt Goodall
32bf10887c
Keep filters in ordered list, with most recent at head.
2012-07-10 19:03:28 +01:00
Matt Goodall
c31efeffe5
Protect XMPP filters from concurrent access.
2012-07-10 17:25:55 +01:00
Matt Goodall
15a35ce4ff
Separate sections of attrs with useful comments.
2012-07-10 17:25:25 +01:00
Matt Goodall
cf45380866
Only call with attrs that need to be non-zero.
2012-07-10 17:12:54 +01:00
Matt Goodall
c33950f532
Fix EOF's package in overview doc.
2012-07-10 15:18:35 +01:00
Matt Goodall
38b727ed46
Fix client creation example code in overview docs.
2012-07-10 15:11:39 +01:00
Matt Goodall
5ab3a9be80
Extract/improve auth response check - it's common to all mechanisms.
2012-07-10 13:14:46 +01:00
Matt Goodall
6ccf6e41a8
Rename auth struct field.
2012-07-10 13:13:13 +01:00
Matt Goodall
32df77187c
Make authentication a little more pluggable.
2012-07-10 12:27:29 +01:00
Matt Goodall
5966340a3a
Package overview doc.
2012-07-10 10:45:16 +01:00
Matt Goodall
de111bc744
Turn googletalk.go into a generic XMPP message tail tool.
2012-07-10 10:43:00 +01:00
Matt Goodall
2a32fc1e44
Add home server from JID lookup helper.
2012-07-10 10:35:39 +01:00
Matt Goodall
2776e78613
Nicer var name to it's clearer it's an error.
2012-07-10 10:08:49 +01:00
Matt Goodall
c64a5bc2fe
Add example of Google Talk.
2012-07-09 15:11:25 +01:00
Matt Goodall
b752357c8d
Remap EOF to ErrUnexpectedEOF now we're checking for end of stream.
2012-07-09 15:04:57 +01:00
Matt Goodall
6b01a7f10c
Cleanly detect & signal end of stream, and fix code above.
2012-07-09 15:01:15 +01:00
Matt Goodall
5536f034bd
Improve fatal error message.
2012-07-09 14:48:04 +01:00
Matt Goodall
4759e83863
Add <error/> stanza.
2012-07-09 14:47:50 +01:00
Matt Goodall
b13d0baad0
Simplify error creation.
2012-07-09 13:27:49 +01:00
Matt Goodall
7a91f5d8ea
Send stream's version='1.0' attr.
2012-07-09 02:51:16 +01:00
Matt Goodall
e2c05fea94
Send xml PI encoding. Route through Stream.send for logging.
2012-07-09 02:50:43 +01:00
Matt Goodall
56a481ff8e
No client config means default config.
2012-07-09 02:49:04 +01:00
Matt Goodall
dc447769b2
go fmt
2012-07-09 02:21:18 +01:00
Matt Goodall
6a42d26a31
Log stanzas sent to the XMPP component.
2012-07-09 02:19:10 +01:00
Matt Goodall
3be7cf7b0b
Implement server-gererated resource binding.
2012-07-09 02:16:25 +01:00
Matt Goodall
2ab32b0959
Experimental XMPP filter-based API, including <iq/> send/recv helper.
...
The filter mechanism allows you to route any matching stanza to a custom
channel. The SendRecv(iq) method uses a once-only filter to watch for
a reply.
2012-07-09 02:08:01 +01:00
Matt Goodall
ec1eaf94b9
More useful docs for Stream and XMPP.
2012-07-09 00:37:21 +01:00
Matt Goodall
6416a5e1ee
Resource binding bugs, so I don't forget.
2012-07-09 00:37:21 +01:00