Commit graph

345 commits

Author SHA1 Message Date
Jon Gjengset
ba2eb75ddd
Bump base64 dev-dependency; 0.2 is old 2017-09-30 21:32:39 -04:00
Jon Gjengset
e65bbe1006
rustfmt. fixes #29 2017-09-30 17:58:30 -04:00
Matt McCoy
8a97392cb3 Bumping version from 0.4.1 -> 0.5.0
Bumping version because of updates to the IDLE
API made in #41
2017-09-29 22:38:47 -04:00
Jon Gjengset
b07216ca7a Make IDLE API be more straightforward (#41)
In particular, the API for `IdleHandle` now reflects that it is only
really meant for single-use. It mutably borrows the `Client`, so once
`wait` returns there isn't really a good reason to keep the `IdleHandle`
around (because you'll likely want to issue some other commands).

There is something to be said for being able to operate on the IDLE
stream, but we'll leave that for later.

This also avoids some unfortunate unavoidable panics when the connection
fails while the client is IDLEing.
2017-09-29 22:37:15 -04:00
Jon Gjengset
50b6267a35 Add more info to Cargo.toml (#42)
crates.io also requires a version change for this to be made visible.
2017-09-29 22:26:49 -04:00
Jon Gjengset
300cfc04f8 Use docs.rs for documentation (#40)
* Use docs.rs for documentation

This would also allow deleting the `gh-pages` branch (which is pretty large).
I'd also recommend adding `badges` and `categories` to make the crates.io page more useful (see [this](http://www.integer32.com/2017/01/20/categories-and-ci-badges.html)), but I'll leave that up to you.

* Remove more references to old docs
2017-09-28 17:19:54 -04:00
Matt McCoy
6a2aed4054 Bumping version from 0.3.3 -> 0.4.0
Bumping version because of change to use BufStream for
better I/O handling.
2017-09-27 17:47:35 -04:00
Jon Gjengset
8383b47f35 Use BufStream for better I/O handling (#39)
* Use bufstream for better read/write

* Read with length 0 == EOF

* Adapt read_delay test to write one chat at a time

* Add test for eof reads

* Neater interface for MockStream
2017-09-27 17:38:51 -04:00
Matt McCoy
3e017da4af Bump version from 0.3.2 -> 0.3.3 2017-07-12 20:59:31 -04:00
Matt McCoy
55e860e8d4 Add a build for windows using appveyor (#37) 2017-07-12 17:05:32 -04:00
Matt McCoy
b0a095e292 Remove unneeded to_string() function calls
The code was calling to_string() which was turning
String types into String types. This is redundant and we don't need to do it.
2017-07-10 21:47:54 -04:00
Matt McCoy
86e1d46507 rustfmt the codebase (#36)
This will ensure that we are properly formatting this library code according to rust standards
2017-07-10 21:38:13 -04:00
Matt McCoy
62cef4a773 Bumping version from 0.3.1 -> 0.3.2 after fixing readline bug 2017-06-20 19:16:23 -04:00
Matt McCoy
fe398fb531 This fixes #23 don't put 0 size read result into buffer. This will prevent it from filling up memory when reading responses 2017-06-20 19:14:00 -04:00
Jos van den Oever
08c2b6847b Add APPEND call. (#30) 2017-05-02 22:08:24 -04:00
Matt McCoy
3b6816b732 Updating version 2017-05-02 21:57:45 -04:00
drevilt
89a8d0eaf3 update to openssl 0.9 (#31) 2017-05-01 15:39:12 -04:00
Matt McCoy
39f889430b Updating versioning 2017-03-02 18:08:30 -05:00
Jon Gjengset
e5b4346114 Add IMAP IDLE support (#27)
* Add IMAP IDLE support

This patch adds support for the IMAP IDLE command specified in RFC 2177.
It allows clients to block while waiting for changes to a selected
mailbox, without having to poll the server. This is especially useful
for monitoring a mailbox for new messages.

The API is currently somewhat primitive: users can call `Client::idle()`
to get an IDLE "handle", which they can then call `wait()` on to block
until a change is detected. The implementation also provides
`wait_keepalive()` (which tries to avoid connection timeouts) and
`wait_timeout()` (which allows the user to specify the maximum time to
block).

Further down the line, the handle should probably also implement
`Iterator` to allow clients to watch new events as they happen. This
*could* be implemented today, but given that most other `Client` methods
just return unparsed strings at the moment, I didn't feel like that
enhancement was a high priority. For now, users will have to manually
query the mailbox for what changed.

Fixes #26.

* Avoid unnecessary as_bytes()

* Make wait_keepalive interval configurable

* Avoid ?, which requires Rust 1.13
2017-03-02 17:55:32 -05:00
Matt McCoy
1ef94f86dc Compile using only the stable and beta versions of Rust 2017-03-02 17:31:56 -05:00
Matt McCoy
61c7c0ff0a Updating version 2017-03-02 17:17:25 -05:00
drevilt
59163929d3 update regex to 0.2 (#25) 2017-03-02 17:16:22 -05:00
Matt McCoy
257cf90f46 Updating version 2017-03-02 17:14:11 -05:00
drevilt
dc3b4f92e6 update to openssl 0.8 and unspecify micro versions (#22) 2017-03-02 17:08:54 -05:00
Matt McCoy
0eaf3709e6 Adding rust 1.9.0 to travis.yml for testing coveralls 2016-07-14 20:14:03 -04:00
Matt McCoy
26d0baa27e Remove quotes around exclude pattern 2016-07-14 20:08:10 -04:00
Matt McCoy
576b12b68a Use try! for conversion of io error to my error 2016-07-14 20:05:03 -04:00
Matt McCoy
75410ed5b5 Adding debugging functionality 2016-07-14 19:58:25 -04:00
Matt McCoy
e033e4bcde Removing print from readline 2016-07-14 16:35:38 -04:00
Matt McCoy
04bbb957ef Add comment to reference secure gmail connection 2016-07-14 16:32:44 -04:00
Matt McCoy
94f5f0200f Merge pull request #19 from miquelruiz/master
Full support for "UID" commands
2016-07-12 09:48:14 -04:00
Miquel Ruiz
6e872bb340 Refactor tests to better support UID commands 2016-07-12 10:37:09 +01:00
Miquel Ruiz
eb0b4d9b50 Support for UID FETCH & tests 2016-07-11 22:48:03 +01:00
Miquel Ruiz
2f1af34b2d Support for UID COPY & tests 2016-07-11 22:44:46 +01:00
Matt McCoy
2f73134f64 Merge pull request #17 from miquelruiz/master
Add support for "STORE" command
2016-07-11 13:24:43 -04:00
Matt McCoy
6ba2751064 Merge pull request #18 from miquelruiz/error-handling
Use try! macro instead of explicity match Results
2016-07-11 13:18:39 -04:00
Miquel Ruiz
a481c6f0c7 Support for UID STORE 2016-07-10 20:55:30 +01:00
Miquel Ruiz
be8796fe49 Use try! macro instead of explicity match Results 2016-07-10 18:51:10 +01:00
Miquel Ruiz
9e5d5986d0 Support for STORE 2016-07-10 14:47:46 +01:00
Matt McCoy
ed03acf07d Fixing formatting for gmail_oauth2 example 2016-06-29 19:38:55 -04:00
Matt McCoy
75c4268e4e Removing invalid parse test 2016-06-29 19:20:32 -04:00
Matt McCoy
dcf4a4299a Adding more line to get coverage to show on README.md 2016-06-29 19:15:31 -04:00
Matt McCoy
a716c34d83 Merge pull request #14 from mattnenterprise/generic-client
Generic client and other multiple additions
2016-06-29 19:08:02 -04:00
Matt McCoy
c8f4437ee0 Fixing the example README.md 2016-06-29 18:57:46 -04:00
Matt McCoy
2311c19435 Adding coverage status badge to README.md 2016-06-29 18:56:13 -04:00
Matt McCoy
b593d943ef Updating README.md and the basic example 2016-06-29 18:53:23 -04:00
Matt McCoy
4b8a294689 Fixing examples README.md 2016-06-29 18:48:50 -04:00
Matt McCoy
25633dee98 Adding option to upgrade tcp connection to ssl connection 2016-06-29 17:01:48 -04:00
Matt McCoy
43f4737b85 Cleaning up some of the authenticator code 2016-06-29 16:45:36 -04:00
Matt McCoy
8d39bfd343 Hardening the oauth2 example for gmail 2016-06-28 22:29:55 -04:00