re-ignore already present

broken/ef
Paul Schneider 3 years ago
parent 5cb35f54d5
commit a11c30e782
4 changed files with 12 additions and 16 deletions

@ -87,7 +87,7 @@ namespace nuget_cli
} }
List<PushReport> reports = await PushPkgAsync(pargs); List<PushReport> reports = await PushPkgAsync(pargs);
Console.WriteLine(JsonConvert.SerializeObject(reports)); Console.WriteLine(JsonConvert.SerializeObject(reports));
pushKO = reports.Count( r => !r.OK ); pushKO = reports.Count( r => !r.OK && !r.AlreadyPresent);
} }
}; };
commandSet.Add(push); commandSet.Add(push);

@ -1,9 +1,8 @@
using System; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Net; using System.Net;
using System.Net.Http;
using System.Threading.Tasks; using System.Threading.Tasks;
using Newtonsoft.Json;
namespace nuget_cli namespace nuget_cli
{ {
@ -37,10 +36,14 @@ namespace nuget_cli
await Console.Error.WriteLineAsync(ex.Message); await Console.Error.WriteLineAsync(ex.Message);
report.StatusCode = ex.Status.ToString(); report.StatusCode = ex.Status.ToString();
report.OK = false; report.OK = false;
using (var respStream = ex.Response.GetResponseStream()) using (Stream respStream = ex.Response.GetResponseStream())
{ {
StreamReader sr = new StreamReader(respStream); StreamReader sr = new StreamReader(respStream);
report.Message = sr.ReadToEnd(); string json = sr.ReadToEnd();
var res = JsonConvert.DeserializeObject<NugetdErrorMessage>(json);
// ecode == 1 => package already present server side.
report.AlreadyPresent = res.ecode == 1;
report.Message = res.msg;
} }
} }
catch (Exception ex) catch (Exception ex)

@ -7,11 +7,11 @@ using Newtonsoft.Json;
namespace nuget_cli namespace nuget_cli
{ {
public class nugetdresp public class NugetdErrorMessage
{ {
public string versionId { get; set; }
public int ecode { get; set; } public int ecode { get; set; }
public string message { get; set; } public string msg { get; set; }
public string id { get; set; }
} }
public class UploadFilesToServerUsingWebRequest public class UploadFilesToServerUsingWebRequest
{ {
@ -90,17 +90,10 @@ namespace nuget_cli
{ {
String json = re.ReadToEnd(); String json = re.ReadToEnd();
report.Message = json; report.Message = json;
var res = JsonConvert.DeserializeObject<nugetdresp>(json);
report.AlreadyPresent = res.ecode == 1;
var hrep = resp as HttpWebResponse; var hrep = resp as HttpWebResponse;
report.StatusCode = hrep.StatusCode.ToString(); report.StatusCode = hrep.StatusCode.ToString();
// ecode == 1 => package already present server side.
report.AlreadyPresent = res.ecode == 1;
report.OK = hrep.StatusCode == HttpStatusCode.Accepted report.OK = hrep.StatusCode == HttpStatusCode.Accepted
|| hrep.StatusCode == HttpStatusCode.OK || hrep.StatusCode == HttpStatusCode.OK;
|| report.AlreadyPresent;
} }
else throw new Exception("Invalid server response type"); else throw new Exception("Invalid server response type");
} }

Loading…