[AMD Official Use Only - General] Reviewed-by: Abner Chang <abner.ch...@amd.com>
> -----Original Message----- > From: Nickle Wang <nick...@nvidia.com> > Sent: Saturday, July 22, 2023 4:18 PM > To: devel@edk2.groups.io > Cc: Chang, Abner <abner.ch...@amd.com>; Igor Kulchytskyy > <ig...@ami.com>; Nick Ramirez <nrami...@nvidia.com> > Subject: [PATCH] RedfishPkg/RedfishRestExDxe: return HTTP status code to > caller. > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > 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 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107153): https://edk2.groups.io/g/devel/message/107153 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] -=-=-=-=-=-=-=-=-=-=-=-