Refactor client methods to stop code duplication
Add basic https client support
Add custom (self-signed) root ca support
Add client certificate authentication support