protected void SetMessages(msglist messages) { StringBuilder header = new StringBuilder(); bool emptyHeader = true, encoded = false; const string EncodedFlag = "Encoded:"; const string SystemMsg = "System"; const string UserMsg = "User"; string typeMsg; foreach (msglistItem msg in messages) { if (msg.gxTpr_Type == 0) { string value = msg.gxTpr_Description; encoded = false; if (GXUtil.ContainsNoAsciiCharacter(value)) { value = GXUtil.UrlEncode(value); encoded = true; } typeMsg = msg.IsGxMessage ? SystemMsg : UserMsg; header.AppendFormat("{0}299 {1} \"{2}{3}:{4}\"", emptyHeader ? string.Empty : ",", _httpContext.Request.GetHost(), encoded ? EncodedFlag : string.Empty, typeMsg, value); if (emptyHeader) { emptyHeader = false; } } } if (!emptyHeader) { AddHeader(HttpHeader.WARNING_HEADER, header.ToString()); } }
public Task ErrorCheck(IGxSilentTrn trn) { if (trn.Errors() == 1) { msglist msg = trn.GetMessages(); if (msg.Count > 0) { msglistItem msgItem = (msglistItem)msg[0]; if (msgItem.gxTpr_Id.Contains("NotFound")) { return(SetError("404", msgItem.gxTpr_Description)); } else if (msgItem.gxTpr_Id.Contains("WasChanged")) { return(SetError("409", msgItem.gxTpr_Description)); } else { return(SetError("400", msgItem.gxTpr_Description)); } } } return(Task.CompletedTask); }