protected ClientBase( Uri baseUri, ZendeskDefaultConfiguration configuration, ISerializer serializer = null, IHttpChannel httpChannel = null, ILogAdapter loggerAdapter = null ) { if (baseUri == null) { throw new ArgumentNullException("baseUri"); } var logger = loggerAdapter ?? new Logging.SystemDiagnosticsAdapter(); _baseUri = baseUri; _configuration = configuration; _http = httpChannel ?? new HttpChannel(); _serializer = serializer ?? new Serialization.ZendeskJsonSerializer(); logger.Debug(string.Format("Created Zendesk client. BaseUri: {0}, Serializer: {1}, HttpChannel: {2}, Logger: {3}", _baseUri, _serializer.GetType().Name, _http.GetType().Name, logger.GetType().Name)); }