public static IHastlayerApi CreateApiClient(RemoteClientConfiguration configuration) { var api = RestClient.For <IHastlayerApi>(configuration.EndpointBaseUri); api.Authorization = new AuthenticationHeaderValue( "Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes(configuration.AppId + ":" + configuration.AppSecret))); return(api); }
public static ConnectionPool PoolFor(RemoteClientConfiguration configuration) { lock (_connectionPools) { ConnectionPool pool; var key = configuration.ToString(); if(configuration.DedicatedPool) key += Guid.NewGuid(); if (!_connectionPools.TryGetValue(key, out pool)) { var host = configuration.Host; var port = configuration.Port; var maxConnections = configuration.MaxConnections; pool = new ConnectionPool(() => new RemoteConnection(host, port), maxConnections,host,port); _connectionPools[key] = pool; } return pool; } }