public async Task <HttpResponseMessage> PushDeployFromFile(string path, ZipDeployMetadata metadata) { using (var stream = File.OpenRead(path)) { return(await PushDeployFromStream(stream, metadata)); } }
public async Task <HttpResponseMessage> PushDeployFromStream(Stream zipFile, ZipDeployMetadata metadata, IList <KeyValuePair <string, string> > queryParams = null) { using (var request = new HttpRequestMessage()) { var parms = new List <string>(); if (metadata.IsAsync) { parms.Add("isAsync=true"); } if (metadata.TrackDeploymentProgress) { parms.Add("trackDeploymentProgress=true"); } var map = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("author", metadata.Author), new KeyValuePair <string, string>("authorEmail", metadata.AuthorEmail), new KeyValuePair <string, string>("deployer", metadata.Deployer), new KeyValuePair <string, string>("message", metadata.Message), }; if (queryParams != null) { map.AddRange(queryParams); } foreach (var item in map) { if (item.Value != null) { parms.Add( String.Format("{0}={1}", item.Key, item.Value)); } } if (parms.Any()) { request.RequestUri = new Uri(Client.BaseAddress + "?" + String.Join("&", parms)); } request.Method = HttpMethod.Post; request.Content = new StreamContent(zipFile); return(await Client.SendAsync(request)); } }