public static async Task <System.IO.Stream> DoGetErrorLog(IodClientSession session, string logId) { const string MethodUrl = "api/v2/activity/errorLog/id?{id}"; const string ContentTypeAccept = "application/json"; const string ContentTypeRequest = "application/json"; using (var client = new HttpClient()) { client.BaseAddress = new Uri(session.serverUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(ContentTypeAccept)); var requestMessage = MakeRequestMessage( session, null, ContentTypeRequest, MethodUrl.Replace("{id}", logId) ); HttpResponseMessage resp = await client.SendAsync(requestMessage); if (resp.IsSuccessStatusCode) { var content = await resp.Content.ReadAsStreamAsync(); return(content); } else { return(null); } } }
public static async Task <IEnumerable <ActivityLogEntry> > DoGetActivityLog(IodClientSession session, string taskId, int rowLimit = 800) { const string MethodUrl = "api/v2/activity/activityLog?taskId={taskId}"; //&rowLimit={rowLimit}"; const string ContentType = "application/json"; // use json both directions using (var client = new HttpClient()) { client.BaseAddress = new Uri(session.serverUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(ContentType)); var requestMessage = MakeRequestMessage( session, null, ContentType, MethodUrl.Replace("{rowLimit}", rowLimit.ToString()).Replace("{taskId}", taskId) ); HttpResponseMessage resp = await client.SendAsync(requestMessage); if (resp.IsSuccessStatusCode) { string content = await resp.Content.ReadAsStringAsync(); var contentObject = JsonConvert.DeserializeObject <List <ActivityLogEntry> >(content); return(contentObject); } else { throw new HttpResponseException(resp); } } }
public static async Task <string> DoGetTaskId(IodClientSession session, string taskName, string taskType) { const string MethodUrl = "api/v2/task?type={type}"; const string ContentType = "application/json"; // use json both directions using (var client = new HttpClient()) { client.BaseAddress = new Uri(session.serverUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(ContentType)); var requestMessage = MakeRequestMessage(session, null, ContentType, MethodUrl.Replace("{type}", taskType)); HttpResponseMessage resp = await client.SendAsync(requestMessage); if (resp.IsSuccessStatusCode) { // successful request returns a list of Task as Json string content = await resp.Content.ReadAsStringAsync(); var contentObject = JsonConvert.DeserializeObject <List <Task> >(content); var theTask = contentObject .Where(task => task.name.Equals(taskName, StringComparison.InvariantCultureIgnoreCase)) .FirstOrDefault(); if (theTask == null) { throw new ApplicationException($"task: {taskName} of type: {taskType} was not found"); } return(theTask.id); } else { throw new HttpResponseException(resp); } } }