public async Task DownloadAsync(IExecutionContext executionContext, ArtifactDefinition artifactDefinition, string downloadFolderPath) { EnsureVersionBelongsToLinkedDefinition(artifactDefinition); var customArtifactDetails = artifactDefinition.Details as CustomArtifactDetails; if (customArtifactDetails != null) { IEnumerable <string> artifactDetails = new EndpointProxy().QueryEndpoint( customArtifactDetails.Endpoint, customArtifactDetails.ArtifactsUrl, customArtifactDetails.ResultSelector, customArtifactDetails.ResultTemplate, customArtifactDetails.AuthorizationHeaders, customArtifactDetails.ArtifactVariables); var artifactDownloadDetailList = new List <CustomArtifactDownloadDetails>(); artifactDetails.ToList().ForEach(x => artifactDownloadDetailList.Add(JToken.Parse(x).ToObject <CustomArtifactDownloadDetails>())); if (artifactDownloadDetailList.Count <= 0) { executionContext.Warning(StringUtil.Loc("NoArtifactsFound", artifactDefinition.Version)); return; } foreach (CustomArtifactDownloadDetails artifactDownloadDetails in artifactDownloadDetailList) { await DownloadArtifact(executionContext, HostContext, downloadFolderPath, customArtifactDetails, artifactDownloadDetails); } } }
private void EnsureVersionBelongsToLinkedDefinition(ArtifactDefinition artifactDefinition) { var customArtifactDetails = artifactDefinition.Details as CustomArtifactDetails; if (customArtifactDetails != null && !string.IsNullOrEmpty(customArtifactDetails.VersionsUrl)) { // Query for all artifact versions for given artifact source id, these parameters are contained in customArtifactDetails.ArtifactVariables var versionBelongsToDefinition = false; IEnumerable <string> versions = new EndpointProxy().QueryEndpoint( customArtifactDetails.Endpoint, customArtifactDetails.VersionsUrl, customArtifactDetails.VersionsResultSelector, customArtifactDetails.VersionsResultTemplate, customArtifactDetails.AuthorizationHeaders, customArtifactDetails.ArtifactVariables); foreach (var version in versions) { var versionDetails = JToken.Parse(version).ToObject <CustomArtifactVersionDetails>(); if (versionDetails != null && versionDetails.Value.Equals(artifactDefinition.Version, StringComparison.OrdinalIgnoreCase)) { versionBelongsToDefinition = true; break; } } if (!versionBelongsToDefinition) { throw new ArtifactDownloadException( StringUtil.Loc("RMArtifactVersionNotBelongToArtifactSource", artifactDefinition.Version, customArtifactDetails.ArtifactVariables["definition"])); } } }
public static async Task ConvertTimeouts(DocumentStore docStore) { foreach (var timeout in docStore.AllDocumentsStartingWith <TimeoutData>(Configuration.TimeoutDocumentsStartWith, 1024)) { var proxy = EndpointProxy.GetProxy(timeout.OwningTimeoutManager); await proxy.TimeoutStorage.Add(timeout.ToCoreTimeoutData(), new ContextBag()); } }
private static async Task ConvertSubscription(Subscription subscription) { Console.WriteLine($"Converting subscriptions for {subscription.MessageType.TypeName}"); foreach (var client in subscription.Subscribers) { var newSubscriber = new Subscriber(client.TransportAddress, client.Endpoint); var proxy = EndpointProxy.GetProxy(client.Endpoint); await proxy.SubscriptionStorage.Subscribe(newSubscriber, subscription.MessageType, new ContextBag()); } }
public static EndpointProxy GetProxy(string endpointName) { EndpointProxy proxy = null; if (!proxyDict.TryGetValue(endpointName, out proxy)) { proxy = new EndpointProxy(endpointName); proxyDict.Add(endpointName, proxy); proxy.Initialize(); } return(proxy); }
static async Task RunAsync() { CheckConfiguration(); var docStore = Configuration.ConfigureRavenDb(); docStore.Initialize(); //await SubscriptionConverter.ConvertSubscriptions(docStore); //await TimeoutConverter.ConvertTimeouts(docStore); await SagaConverter.ConvertSagas(docStore); await EndpointProxy.StopAll(); }
private void doConnect(string uri) { var headers = new Dictionary <string, string>(); var headers2 = new Dictionary <string, object>(); headers.Add(APP_KEY, this._id.AppKey); headers2.Add(APP_KEY, headers[APP_KEY]); headers.Add(GROUP_NAME, this._id.GroupName); headers2.Add(GROUP_NAME, headers[GROUP_NAME]); headers.Add(TIMESTAMP, DateTime.Now.Ticks.ToString()); headers2.Add(TIMESTAMP, headers[TIMESTAMP]); headers2.Add(SIGN, TopUtils.SignTopRequest(headers, this._appSecret, true)); this._serverProxy = this._endpoint.GetEndpoint(new TmcServerIdentity(), uri, headers2); this._uri = uri; this.Log.InfoFormat("connected to tmc server: {0}", uri); }
private void doConnect(string uri) { var signHeader = new Dictionary <string, string>(); var connHeader = new Dictionary <string, object>(); signHeader.Add(APP_KEY, this._id.AppKey); connHeader.Add(APP_KEY, signHeader[APP_KEY]); signHeader.Add(GROUP_NAME, this._id.GroupName); connHeader.Add(GROUP_NAME, signHeader[GROUP_NAME]); signHeader.Add(TIMESTAMP, DateTime.Now.Ticks.ToString()); connHeader.Add(TIMESTAMP, signHeader[TIMESTAMP]); connHeader.Add(SIGN, JdUtils.SignJdRequest(signHeader, this._appSecret, true)); //extra fields connHeader.Add(SDK, DefaultJdClient.SDK_VERSION); this._serverProxy = this._endpoint.GetEndpoint(new TmcServerIdentity(), uri, connHeader); this._uri = uri; this.Log.InfoFormat("connected to tmc server: {0}", uri); }
private void doConnect(string uri) { var signHeader = new Dictionary <string, string>(); var connHeader = new Dictionary <string, object>(); signHeader.Add(Constants.APP_KEY, this._id.AppKey); connHeader.Add(Constants.APP_KEY, signHeader[Constants.APP_KEY]); signHeader.Add(GROUP_NAME, this._id.GroupName); connHeader.Add(GROUP_NAME, signHeader[GROUP_NAME]); signHeader.Add(Constants.TIMESTAMP, DateTime.Now.Ticks.ToString()); connHeader.Add(Constants.TIMESTAMP, signHeader[Constants.TIMESTAMP]); connHeader.Add(Constants.SIGN, TopUtils.SignTopRequest(signHeader, this._appSecret, Constants.SIGN_METHOD_MD5)); //extra fields connHeader.Add(SDK, Constants.SDK_VERSION); connHeader.Add(INTRANET_IP, TopUtils.GetIntranetIp()); this._serverProxy = this._endpoint.GetEndpoint(new TmcServerIdentity(), uri, connHeader); this._uri = uri; this.Log.Info("connected to tmc server: {0}", uri); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);//.AddViewOptions(options => //options.HtmlHelperOptions.ClientValidationEnabled = false); var gitToken = Configuration.GetValue <string>("GITHUB_API_TOKEN"); // TODO: read from config // DI for components var netflixCachedApis = new HashSet <string> { "", "orgs/netflix", "orgs/netflix/members", "orgs/netflix/repos" }; var gitApiViewManager = new GitApiViewManager("Netflix"); var endpointCacheManager = new EndpointCacheManager(netflixCachedApis, gitApiViewManager); var gitRequestHandler = new GitRequestHandler(gitToken); var endpointProxy = new EndpointProxy(gitRequestHandler, endpointCacheManager, TimeSpan.FromMinutes(15), TimeSpan.FromMinutes(1)); services.AddScoped(typeof(IEndpointCacheManager), serviceProvider => endpointCacheManager); services.AddScoped(typeof(IRequestHandler), serviceProvider => gitRequestHandler); services.AddScoped(typeof(IEndpointProxy), serviceProvider => endpointProxy); services.AddScoped(typeof(IApiViewManager), serviceProvider => gitApiViewManager); }