Beispiel #1
0
        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));
        }
Beispiel #3
0
 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));
 }
Beispiel #5
0
 /// <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);
 }