Reviewed-by: Igor Kulchytskyy <ig...@ami.com> -----Original Message----- From: Nickle Wang <nick...@nvidia.com> Sent: Saturday, July 22, 2023 4:18 AM To: devel@edk2.groups.io Cc: Abner Chang <abner.ch...@amd.com>; Igor Kulchytskyy <ig...@ami.com>; Nick Ramirez <nrami...@nvidia.com> Subject: [EXTERNAL] [PATCH] RedfishPkg/RedfishRestExDxe: return HTTP status code to caller.
**CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.** Return unsupported HTTP status code to caller so caller can handle HTTP error status code. Current implementation only return EFI error to caller. Without knowing the HTTP status code, caller has trouble to handle HTTP request failure. Signed-off-by: Nickle Wang <nick...@nvidia.com> Cc: Abner Chang <abner.ch...@amd.com> Cc: Igor Kulchytskyy <ig...@ami.com> Cc: Nick Ramirez <nrami...@nvidia.com> --- .../RedfishRestExDxe/RedfishRestExProtocol.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c b/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c index 90973619f2bc..f11cee8542fb 100644 --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c @@ -320,6 +320,18 @@ ReSendRequest:; DEBUG ((DEBUG_ERROR, "This HTTP Status is not handled!\n")); DumpHttpStatusCode (DEBUG_REDFISH_NETWORK, ResponseData->Response.StatusCode); Status = EFI_UNSUPPORTED; + + // + // Deliver status code back to caller so caller can handle it. + // + ResponseMessage->Data.Response = AllocateZeroPool (sizeof (EFI_HTTP_RESPONSE_DATA)); + if (ResponseMessage->Data.Response == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; + } + + ResponseMessage->Data.Response->StatusCode = ResponseData->Response.StatusCode; + goto ON_EXIT; } @@ -444,11 +456,6 @@ ON_EXIT: } if (EFI_ERROR (Status)) { - if (ResponseMessage->Data.Response != NULL) { - FreePool (ResponseMessage->Data.Response); - ResponseMessage->Data.Response = NULL; - } - if (ResponseMessage->Body != NULL) { FreePool (ResponseMessage->Body); ResponseMessage->Body = NULL; -- 2.17.1 -The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107154): https://edk2.groups.io/g/devel/message/107154 Mute This Topic: https://groups.io/mt/100292372/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-