private static IRemoteConnection ArasConn(HttpClient arasService, string url, ConnectionPreferences preferences) { var result = new Connection.ArasHttpConnection(arasService, url, preferences.ItemFactory); if (preferences.Headers.Any() || preferences.DefaultTimeout.HasValue) { result.DefaultSettings(r => { if (preferences.DefaultTimeout.HasValue) { r.Timeout = TimeSpan.FromMilliseconds(preferences.DefaultTimeout.Value); } if (!string.IsNullOrEmpty(preferences.Headers.UserAgent)) { r.UserAgent = preferences.Headers.UserAgent; } foreach (var header in preferences.Headers.NonUserAgentHeaders()) { r.SetHeader(header.Key, header.Value); } }); } return(result); }
/// <summary> /// Gets a new connection logged in with the same credentials /// </summary> /// <param name="async">Whether to perform this action asynchronously</param> /// <returns> /// A promise to return a new connection /// </returns> public IPromise <IRemoteConnection> Clone(bool async) { var newConn = new ArasHttpConnection(Service, _innovatorServerUrl.ToString(), AmlContext.ItemFactory) { _defaults = this._defaults }; return(newConn.Login(_lastCredentials, async) .Convert(u => (IRemoteConnection)newConn)); }
private static IRemoteConnection ArasConn(IHttpService arasService, string url, ConnectionPreferences preferences) { var result = new Connection.ArasHttpConnection(arasService, url); if (!string.IsNullOrEmpty(preferences.Locale) || !string.IsNullOrEmpty(preferences.TimeZone) || !string.IsNullOrEmpty(preferences.UserAgent)) { result.DefaultSettings(r => { if (!string.IsNullOrEmpty(preferences.Locale)) r.SetHeader("LOCALE", preferences.Locale); if (!string.IsNullOrEmpty(preferences.TimeZone)) r.SetHeader("TIMEZONE_NAME", preferences.TimeZone); if (!string.IsNullOrEmpty(preferences.UserAgent)) r.UserAgent = preferences.UserAgent; }); } return result; }
/// <summary> /// Determines whether the specified <see cref="ArasHttpConnection" />, is equal to this instance. /// </summary> /// <param name="conn">The <see cref="ArasHttpConnection" /> to compare with this instance.</param> /// <returns> /// <c>true</c> if the specified <see cref="ArasHttpConnection" /> is equal to this instance /// (same URL, database, and user ID); otherwise, <c>false</c>. /// </returns> public bool Equals(ArasHttpConnection conn) { return(conn.Url.Equals(this.Url) && string.Equals(conn.Database, this.Database) && string.Equals(conn.UserId, this.UserId)); }
/// <summary> /// Determines whether the specified <see cref="ArasHttpConnection" />, is equal to this instance. /// </summary> /// <param name="conn">The <see cref="ArasHttpConnection" /> to compare with this instance.</param> /// <returns> /// <c>true</c> if the specified <see cref="ArasHttpConnection" /> is equal to this instance /// (same URL, database, and user ID); otherwise, <c>false</c>. /// </returns> public bool Equals(ArasHttpConnection conn) { return(conn._innovatorServerBaseUrl.Equals(this._innovatorServerBaseUrl) && String.Equals(conn._httpDatabase, this._httpDatabase) && String.Equals(conn._userId, this._userId)); }
public IPromise<IRemoteConnection> Clone(bool async) { var newConn = new ArasHttpConnection(new DefaultHttpService() { Compression = CompressionType.none }, _innovatorServerUrl.ToString()); newConn._defaults = this._defaults; return newConn.Login(_lastCredentials, async) .Convert(u => (IRemoteConnection)newConn); }
public bool Equals(ArasHttpConnection conn) { return conn._innovatorServerBaseUrl.Equals(this._innovatorServerBaseUrl) && String.Equals(conn._httpDatabase, this._httpDatabase) && String.Equals(conn._userId, this._userId); }