diff --git a/.vscode/tasks.json b/.vscode/tasks.json index a183bdb..e44a579 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -28,15 +28,14 @@ }, { "label": "buildcli", - "command": "dotnet", + "command": "msbuild", "type": "process", "args": [ - "build", "src/nuget-cli", "/p:Configuration=Debug", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary", - "--ignore-failed-sources" + "/restore" ], "problemMatcher": "$msCompile" }, diff --git a/src/nuget-cli/Helpers.cs b/src/nuget-cli/Helpers.cs index 40ba1a7..1060d16 100644 --- a/src/nuget-cli/Helpers.cs +++ b/src/nuget-cli/Helpers.cs @@ -16,7 +16,7 @@ namespace nuget_cli /// /// Creates HTTP POST request & uploads database to server. Author : Farhan Ghumra /// - static internal async Task UploadFilesToServer( + static internal void UploadFilesToServer( this PushReport report, Uri uri, FileInfo fi, string apikey) { @@ -30,10 +30,10 @@ namespace nuget_cli { using (HttpClient client = new HttpClient()) { - client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + // client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - client.DefaultRequestHeaders.Add("X-NuGet-Client-Version", clientVersion); - client.DefaultRequestHeaders.Add("X-NuGet-ApiKey", apikey); + // client.DefaultRequestHeaders.Add("X-NuGet-Client-Version", clientVersion); + // client.DefaultRequestHeaders.Add("X-NuGet-ApiKey", apikey); var dispo = new ContentDispositionHeaderValue("file"); dispo.FileName = fi.Name; dispo.CreationDate = fi.CreationTime; @@ -44,17 +44,26 @@ namespace nuget_cli Stream fileStream = fi.OpenRead(); var streamcontent = new StreamContent(fileStream); streamcontent.Headers.ContentDisposition = dispo; - formdata.Add(streamcontent, "file", fi.Name); + formdata.Add(streamcontent, fi.Name, fi.Name); // content.Add(formdata); - - var response = await client.PutAsync(uri, formdata); - response.EnsureSuccessStatusCode(); - report.StatusCode = response.StatusCode.ToString(); - var respstream = await response.Content.ReadAsStreamAsync(); + client.BaseAddress = uri; + HttpRequestMessage put = new HttpRequestMessage(HttpMethod.Put, uri); + put.Content = formdata; + put.Headers.Add("X-NuGet-Client-Version", clientVersion); + put.Headers.Add("X-NuGet-ApiKey", apikey); + put.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + + + Task response = client.SendAsync(put); + response.RunSynchronously(); + + response.Result.EnsureSuccessStatusCode(); + report.StatusCode = response.Result.StatusCode.ToString(); + var respstream = response.Result.Content.ReadAsStreamAsync().Result; var sr = new StreamReader(respstream); - report.Message = await sr.ReadToEndAsync(); + report.Message = sr.ReadToEndAsync().Result; } } diff --git a/src/nuget-cli/Program.Commands.cs b/src/nuget-cli/Program.Commands.cs index f663544..3a1d9a0 100644 --- a/src/nuget-cli/Program.Commands.cs +++ b/src/nuget-cli/Program.Commands.cs @@ -1,11 +1,10 @@ using System; using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; namespace nuget_cli { - [Display(Name="nuget_cli")] + partial class Program { diff --git a/src/nuget-cli/PushCommand.cs b/src/nuget-cli/PushCommand.cs index 6a84d0b..7e6a866 100644 --- a/src/nuget-cli/PushCommand.cs +++ b/src/nuget-cli/PushCommand.cs @@ -25,7 +25,7 @@ namespace nuget_cli try { - await report.UploadFilesToServer(new Uri(source), fi, apikey); + await Task.Run(() => report.UploadFilesToServer(new Uri(source), fi, apikey)); } catch (WebException ex) { diff --git a/src/nuget-cli/nuget-cli.csproj b/src/nuget-cli/nuget-cli.csproj index d1e0ff5..ab0444f 100644 --- a/src/nuget-cli/nuget-cli.csproj +++ b/src/nuget-cli/nuget-cli.csproj @@ -2,12 +2,13 @@ Exe - netcoreapp2.1 + net472 nuget_cli 45b74c62-05bc-4603-95b4-3e80ae2fdf50 +