Comments (3)
Hmm, yes, in theory we could differentiate this using types. We could give you an UnauthenticatedClient
when you call connect
(or secure_connect
), and then have login
consume self
and produce a Client
. It'd be a pretty major API change, but I have some other changes along those lines I've wanted to make too, so I think it's a good idea. I'm sort of waiting on #69, since without that I have relatively little agency in publishing changes :)
from rust-imap.
@jonhoo +1 for the UnauthenticatedClient
/Client
idea, i had a small step in that direction too, some time ago
from rust-imap.
Turns out I forgot to call client.login(...)
.
Is there a smoother way to detect a missing login and produce an approrpiate error?
from rust-imap.
Related Issues (20)
- Conform to the Rust API guidelines HOT 1
- Add more serious testing HOT 1
- Enabling debug output causes a panic. HOT 3
- Allow jonhoo publish access to the crate HOT 28
- Provide better error messages when username or password contains newline HOT 1
- Fail more gracefully if we fail to decode server replies HOT 1
- Discarded EXPUNGE/EXISTS responses HOT 9
- Add more ergonomic interfaces and examples for common use-cases. HOT 2
- Do rust-imap provide bindings to something? HOT 1
- Does rust-imap parse things twice? HOT 3
- Cannot compile example HOT 2
- Panicked with `Parse(Unexpected("MailboxData(Recent(1))"))` HOT 21
- Displaying email content HOT 2
- Using extern crate, compile issue. HOT 2
- What is the situation with pushing updates to crates.io ? HOT 7
- Compilation error - use nom HOT 2
- Build fail on system with openssl 1.1.1 HOT 3
- Client.authenticate() should Base64 encode the data from the Authenticator HOT 2
- Provide variants of all interfaces with typed arguments HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-imap.