public string Send(NetMessage message) { System.Threading.Thread.Sleep(_testConfig.MessageDelay); message.DateTimeSent = DateTime.Now; // TODO: Add the detailed string... StringBuilder builder = new StringBuilder(); if (!string.IsNullOrEmpty(_testConfig.ExecuteVerbs)) { if (_testConfig.ExecuteVerbs.Contains("POST")) { builder.Append(POST(message, true)); builder.Append("|"); } if (_testConfig.ExecuteVerbs.Contains("GET")) { builder.Append(GET(message)); builder.Append("|"); } if (_testConfig.ExecuteVerbs.Contains("PUT")) { builder.Append(PUT(message)); builder.Append("|"); } if (_testConfig.ExecuteVerbs.Contains("DELETE")) { builder.Append(DELETE(message)); builder.Append("|"); } return string.Format(" Series {0} Completed ", builder.ToString()); } else { return POST(message, false); // Default is POST } }
private string POST(NetMessage message, bool inSeries) { HttpContent httpContent = HttpContent.Create(message.Request, "application/xml"); string statusCode = string.Empty; using (HttpResponseMessage response = _client.Post(ServiceURI, httpContent)) { message.Processed = true; message.SuccessfullyCompleted = (response.StatusCode == HttpStatusCode.Created); message.Responce = response.Content.ReadAsString(); statusCode = response.StatusCode.ToString(); // Set the Id for further processing; AbsolutePath is something like /BizMsgService/314 OR /api/BizMsgService/314 string[] segments = response.Headers.Location.AbsolutePath.Split('/'); message.Id = segments[segments.Length-1]; } if (inSeries) { if (message.SuccessfullyCompleted) return "C"; return statusCode; } return string.Format(" Response Code: {0} ", statusCode); }
private string DELETE(NetMessage message) { string statusCode = string.Empty; using (HttpResponseMessage response = _client.Delete(ServiceURI + message.Id)) { message.Processed = true; message.SuccessfullyCompleted = (response.StatusCode == HttpStatusCode.OK); message.Responce = response.Content.ReadAsString(); statusCode = response.StatusCode.ToString(); } if (message.SuccessfullyCompleted) return "D"; return statusCode; }
private string PUT(NetMessage message) { HttpContent httpContent = HttpContent.Create(message.Request, "application/xml"); string statusCode = string.Empty; using (HttpResponseMessage response = _client.Put(ServiceURI + message.Id, httpContent)) { message.Processed = true; message.SuccessfullyCompleted = (response.StatusCode == HttpStatusCode.Accepted); message.Responce = response.Content.ReadAsString(); statusCode = response.StatusCode.ToString(); } if (message.SuccessfullyCompleted) return "U"; return statusCode; }