Handles BASIC and DIGEST auth, cleaner error handling