[AMD Official Use Only - General]

Thanks for introducing the debug lib for Redfish as Redfish has bunch of 
information to output.
We can create a new debug print level for Redfish in MdePkg.dec later.

Reviewed-by: Abner Chang <[email protected]>

> -----Original Message-----
> From: Nickle Wang <[email protected]>
> Sent: Wednesday, February 1, 2023 5:09 PM
> To: [email protected]
> Cc: Chang, Abner <[email protected]>; Igor Kulchytskyy
> <[email protected]>; Nick Ramirez <[email protected]>
> Subject: [PATCH 1/1] RedfishPkg/RedfishDebugLib: provide Redfish debug
> functions
> 
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
> 
> 
> Introduce RedfishDebugLib to RedfishPkg. This library provides several
> debugging functions for Redfish application. Redfish drivers rely on Rest Ex
> protocol to communicate with BMC and the communication data may be big
> and complicated. Use RedfishDebugLib in RedfishRestExDxe to simplify
> debugging process.
> 
> Signed-off-by: Nickle Wang <[email protected]>
> Cc: Abner Chang <[email protected]>
> Cc: Igor Kulchytskyy <[email protected]>
> Cc: Nick Ramirez <[email protected]>
> ---
>  RedfishPkg/RedfishPkg.dec                     |   5 +
>  RedfishPkg/RedfishLibs.dsc.inc                |   2 +
>  .../RedfishDebugLib/RedfishDebugLib.inf       |  38 +++
>  .../RedfishRestExDxe/RedfishRestExDxe.inf     |   2 +
>  RedfishPkg/Include/Library/RedfishDebugLib.h  |  90 +++++++
>  .../RedfishRestExDxe/RedfishRestExInternal.h  |   2 +
>  .../Library/RedfishDebugLib/RedfishDebugLib.c | 229
> ++++++++++++++++++  .../RedfishRestExDxe/RedfishRestExProtocol.c  |  32 +--
>  8 files changed, 385 insertions(+), 15 deletions(-)  create mode 100644
> RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.inf
>  create mode 100644 RedfishPkg/Include/Library/RedfishDebugLib.h
>  create mode 100644 RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c
> 
> diff --git a/RedfishPkg/RedfishPkg.dec b/RedfishPkg/RedfishPkg.dec index
> d2b189b13d..e1158b7050 100644
> --- a/RedfishPkg/RedfishPkg.dec
> +++ b/RedfishPkg/RedfishPkg.dec
> @@ -3,6 +3,7 @@
>  #
>  # Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>  # (C) 
> Copyright
> 2021 Hewlett Packard Enterprise Development LP<BR>
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
>  #
>  # SPDX-License-Identifier: BSD-2-Clause-Patent  ## @@ -54,6 +55,10 @@
>    #
>    RedfishContentCodingLib|Include/Library/RedfishContentCodingLib.h
> 
> +  ##  @libraryclass Redfish Debug Library
> +  #   Library provides Redfish debug functions.
> +  RedfishDebugLib|Include/Library/RedfishDebugLib.h
> +
>  [LibraryClasses.Common.Private]
>    ##  @libraryclass  Provides the private C runtime library functions.
>    #   CRT library is currently used by edk2 JsonLib (open source
> diff --git a/RedfishPkg/RedfishLibs.dsc.inc b/RedfishPkg/RedfishLibs.dsc.inc
> index 56950b711f..84f52d4b27 100644
> --- a/RedfishPkg/RedfishLibs.dsc.inc
> +++ b/RedfishPkg/RedfishLibs.dsc.inc
> @@ -6,6 +6,7 @@
>  # of EDKII network library classes.
>  #
>  # (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
> +# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
>  #
>  #    SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
> @@ -17,5 +18,6 @@
>    RedfishCrtLib|RedfishPkg/PrivateLibrary/RedfishCrtLib/RedfishCrtLib.inf
>    JsonLib|RedfishPkg/Library/JsonLib/JsonLib.inf
>    RedfishLib|RedfishPkg/PrivateLibrary/RedfishLib/RedfishLib.inf
> +
> + RedfishDebugLib|RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.inf
>  !endif
> 
> diff --git a/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.inf
> b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.inf
> new file mode 100644
> index 0000000000..b9d88cc70c
> --- /dev/null
> +++ b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.inf
> @@ -0,0 +1,38 @@
> +## @file
> +#
> +#  Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent # ##
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010006
> +  BASE_NAME                      = RedfishDebugLib
> +  FILE_GUID                      = 7F64C79F-ABD0-4446-86B5-2C1AE36168AD
> +  MODULE_TYPE                    = DXE_DRIVER
> +  VERSION_STRING                 = 1.0
> +  LIBRARY_CLASS                  = RedfishDebugLib| DXE_DRIVER UEFI_DRIVER
> +
> +#
> +#  VALID_ARCHITECTURES           = IA32 X64 EBC
> +#
> +
> +[Sources]
> +  RedfishDebugLib.c
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  RedfishPkg/RedfishPkg.dec
> +
> +[LibraryClasses]
> +  BaseLib
> +  DebugLib
> +  JsonLib
> +  MemoryAllocationLib
> +  RedfishLib
> +  UefiLib
> +
> +[Depex]
> +  TRUE
> diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf
> b/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf
> index 75437b086a..3f10fd733e 100644
> --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf
> +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf
> @@ -3,6 +3,7 @@
>  #
>  #  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>  #  (C)
> Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
> +#  Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent  # @@ -43,6 +44,7 @@
>    PrintLib
>    MemoryAllocationLib
>    NetLib
> +  RedfishDebugLib
>    UefiLib
>    UefiBootServicesTableLib
>    UefiDriverEntryPoint
> diff --git a/RedfishPkg/Include/Library/RedfishDebugLib.h
> b/RedfishPkg/Include/Library/RedfishDebugLib.h
> new file mode 100644
> index 0000000000..387b06c734
> --- /dev/null
> +++ b/RedfishPkg/Include/Library/RedfishDebugLib.h
> @@ -0,0 +1,90 @@
> +/** @file
> +  This file defines the Redfish debug library interface.
> +
> +  Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef REDFISH_DEBUG_LIB_H_
> +#define REDFISH_DEBUG_LIB_H_
> +
> +#include <Uefi.h>
> +#include <Library/JsonLib.h>
> +#include <Library/RedfishLib.h>
> +
> +#define DEBUG_REDFISH_NETWORK DEBUG_INFO    ///< Debug error level for
> Redfish networking function
> +
> +/**
> +
> +  This function dump the Json string in given error level.
> +
> +  @param[in]  ErrorLevel  DEBUG macro error level
> +  @param[in]  JsonValue   Json value to dump.
> +
> +  @retval     EFI_SUCCESS         Json string is printed.
> +  @retval     Others              Errors occur.
> +
> +**/
> +EFI_STATUS
> +DumpJsonValue (
> +  IN UINTN             ErrorLevel,
> +  IN EDKII_JSON_VALUE  JsonValue
> +  );
> +
> +/**
> +
> +  This function dump the status code, header and body in given  Redfish
> + payload.
> +
> +  @param[in]  ErrorLevel  DEBUG macro error level
> +  @param[in]  Payload     Redfish payload to dump
> +
> +  @retval     EFI_SUCCESS         Redfish payload is printed.
> +  @retval     Others              Errors occur.
> +
> +**/
> +EFI_STATUS
> +DumpRedfishPayload (
> +  IN UINTN             ErrorLevel,
> +  IN REDFISH_PAYLOAD   Payload
> +  );
> +
> +/**
> +
> +  This function dump the status code, header and body in given  Redfish
> + response.
> +
> +  @param[in]  Message     Message string
> +  @param[in]  ErrorLevel  DEBUG macro error level
> +  @param[in]  Response    Redfish response to dump
> +
> +  @retval     EFI_SUCCESS         Redfish response is printed.
> +  @retval     Others              Errors occur.
> +
> +**/
> +EFI_STATUS
> +DumpRedfishResponse (
> +  IN CONST CHAR8       *Message,
> +  IN UINTN             ErrorLevel,
> +  IN REDFISH_RESPONSE  *Response
> +  );
> +
> +/**
> +
> +  This function dump the HTTP status code.
> +
> +  @param[in]  ErrorLevel     DEBUG macro error level
> +  @param[in]  HttpStatusCode HTTP status code
> +
> +  @retval     EFI_SUCCESS    HTTP status code is printed
> +
> +**/
> +EFI_STATUS
> +DumpHttpStatusCode (
> +  IN UINTN                ErrorLevel,
> +  IN EFI_HTTP_STATUS_CODE HttpStatusCode
> +  );
> +
> +#endif
> diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h
> b/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h
> index a687c4ddb1..bca679e2cc 100644
> --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h
> +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h
> @@ -3,6 +3,7 @@
> 
>    Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
>    (C) Copyright 2019-2020 Hewlett Packard Enterprise Development LP<BR>
> +  Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -21,6 +22,7 @@
>  #include <Library/HttpIoLib.h>
>  #include <Library/MemoryAllocationLib.h>  #include <Library/NetLib.h>
> +#include <Library/RedfishDebugLib.h>
>  #include <Library/UefiLib.h>
>  #include <Library/UefiBootServicesTableLib.h>
>  #include <Library/UefiDriverEntryPoint.h> diff --git
> a/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c
> b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c
> new file mode 100644
> index 0000000000..de242d581b
> --- /dev/null
> +++ b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c
> @@ -0,0 +1,229 @@
> +/** @file
> +  Redfish debug library to debug Redfish application.
> +
> +  Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <Uefi.h>
> +
> +#include <Library/BaseLib.h>
> +#include <Library/DebugLib.h>
> +#include <Library/MemoryAllocationLib.h> #include
> +<Library/RedfishDebugLib.h> #include <Library/UefiLib.h>
> +
> +#ifndef IS_EMPTY_STRING
> +#define IS_EMPTY_STRING(a)    ((a) == NULL || (a)[0] == '\0')
> +#endif
> +
> +#define REDFISH_JSON_STRING_LENGTH  200 #define
> +REDFISH_JSON_OUTPUT_FORMAT  (EDKII_JSON_COMPACT |
> EDKII_JSON_INDENT(2))
> +
> +/**
> +
> +  This function dump the Json string in given error level.
> +
> +  @param[in]  ErrorLevel  DEBUG macro error level
> +  @param[in]  JsonValue   Json value to dump.
> +
> +  @retval     EFI_SUCCESS         Json string is printed.
> +  @retval     Others              Errors occur.
> +
> +**/
> +EFI_STATUS
> +DumpJsonValue (
> +  IN UINTN             ErrorLevel,
> +  IN EDKII_JSON_VALUE  JsonValue
> +  )
> +{
> +  CHAR8  *String;
> +  CHAR8  *Runner;
> +  CHAR8  Buffer[REDFISH_JSON_STRING_LENGTH + 1];
> +  UINTN  StrLen;
> +  UINTN  Count;
> +  UINTN  Index;
> +
> +  if (JsonValue == NULL) {
> +    return EFI_INVALID_PARAMETER;
> +  }
> +
> +  String = JsonDumpString (JsonValue, REDFISH_JSON_OUTPUT_FORMAT);  if
> + (String == NULL) {
> +    return EFI_UNSUPPORTED;
> +  }
> +
> +  StrLen = AsciiStrLen (String);
> +  if (StrLen == 0) {
> +    return EFI_UNSUPPORTED;
> +  }
> +
> +  Count  = StrLen / REDFISH_JSON_STRING_LENGTH;  Runner = String;  for
> + (Index = 0; Index < Count; Index++) {
> +    AsciiStrnCpyS (Buffer, (REDFISH_JSON_STRING_LENGTH + 1), Runner,
> REDFISH_JSON_STRING_LENGTH);
> +    Buffer[REDFISH_JSON_STRING_LENGTH] = '\0';
> +    DEBUG ((ErrorLevel, "%a", Buffer));
> +    Runner += REDFISH_JSON_STRING_LENGTH;  }
> +
> +  Count = StrLen % REDFISH_JSON_STRING_LENGTH;  if (Count > 0) {
> +    DEBUG ((ErrorLevel, "%a", Runner));  }
> +
> +  DEBUG ((ErrorLevel, "\n"));
> +
> +  FreePool (String);
> +  return EFI_SUCCESS;
> +}
> +
> +/**
> +
> +  This function dump the status code, header and body in given  Redfish
> + payload.
> +
> +  @param[in]  ErrorLevel  DEBUG macro error level
> +  @param[in]  Payload     Redfish payload to dump
> +
> +  @retval     EFI_SUCCESS         Redfish payload is printed.
> +  @retval     Others              Errors occur.
> +
> +**/
> +EFI_STATUS
> +DumpRedfishPayload (
> +  IN UINTN             ErrorLevel,
> +  IN REDFISH_PAYLOAD   Payload
> +  )
> +{
> +  EDKII_JSON_VALUE  JsonValue;
> +
> +  if (Payload == NULL) {
> +    return EFI_INVALID_PARAMETER;
> +  }
> +
> +  JsonValue = RedfishJsonInPayload (Payload);  if (JsonValue != NULL) {
> +    DEBUG ((ErrorLevel, "Payload:\n"));
> +    DumpJsonValue (ErrorLevel, JsonValue);  }
> +
> +  return EFI_SUCCESS;
> +}
> +
> +/**
> +
> +  This function dump the HTTP status code.
> +
> +  @param[in]  ErrorLevel     DEBUG macro error level
> +  @param[in]  HttpStatusCode HTTP status code
> +
> +  @retval     EFI_SUCCESS    HTTP status code is printed
> +
> +**/
> +EFI_STATUS
> +DumpHttpStatusCode (
> +  IN UINTN                ErrorLevel,
> +  IN EFI_HTTP_STATUS_CODE HttpStatusCode
> +  )
> +{
> +  switch (HttpStatusCode) {
> +    case HTTP_STATUS_100_CONTINUE:
> +      DEBUG ((ErrorLevel, "Status code: 100 CONTINUE\n"));
> +      break;
> +    case HTTP_STATUS_200_OK:
> +      DEBUG ((ErrorLevel, "Status code: 200 OK\n"));
> +      break;
> +    case HTTP_STATUS_201_CREATED:
> +      DEBUG ((ErrorLevel, "Status code: 201 CREATED\n"));
> +      break;
> +    case HTTP_STATUS_202_ACCEPTED:
> +      DEBUG ((ErrorLevel, "Status code: 202 ACCEPTED\n"));
> +      break;
> +    case HTTP_STATUS_304_NOT_MODIFIED:
> +      DEBUG ((ErrorLevel, "Status code: 304 NOT MODIFIED\n"));
> +      break;
> +    case HTTP_STATUS_400_BAD_REQUEST:
> +      DEBUG ((ErrorLevel, "Status code: 400 BAD REQUEST\n"));
> +      break;
> +    case HTTP_STATUS_401_UNAUTHORIZED:
> +      DEBUG ((ErrorLevel, "Status code: 401 UNAUTHORIZED\n"));
> +      break;
> +    case HTTP_STATUS_403_FORBIDDEN:
> +      DEBUG ((ErrorLevel, "Status code: 403 FORBIDDEN\n"));
> +      break;
> +    case HTTP_STATUS_404_NOT_FOUND:
> +      DEBUG ((ErrorLevel, "Status code: 404 NOT FOUND\n"));
> +      break;
> +    case HTTP_STATUS_405_METHOD_NOT_ALLOWED:
> +      DEBUG ((ErrorLevel, "Status code: 405 METHOD NOT ALLOWED\n"));
> +      break;
> +    case HTTP_STATUS_500_INTERNAL_SERVER_ERROR:
> +      DEBUG ((ErrorLevel, "Status code: 500 INTERNAL SERVER ERROR\n"));
> +      break;
> +    default:
> +      DEBUG ((ErrorLevel, "Status code: 0x%x\n", HttpStatusCode));
> +      break;
> +  }
> +
> +  return EFI_SUCCESS;
> +}
> +
> +/**
> +
> +  This function dump the status code, header and body in given  Redfish
> + response.
> +
> +  @param[in]  Message     Message string
> +  @param[in]  ErrorLevel  DEBUG macro error level
> +  @param[in]  Response    Redfish response to dump
> +
> +  @retval     EFI_SUCCESS         Redfish response is printed.
> +  @retval     Others              Errors occur.
> +
> +**/
> +EFI_STATUS
> +DumpRedfishResponse (
> +  IN CONST CHAR8       *Message,
> +  IN UINTN             ErrorLevel,
> +  IN REDFISH_RESPONSE  *Response
> +  )
> +{
> +  UINTN             Index;
> +
> +  if (Response == NULL) {
> +    return EFI_INVALID_PARAMETER;
> +  }
> +
> +  if (!IS_EMPTY_STRING (Message)) {
> +    DEBUG ((ErrorLevel, "%a\n", Message));  }
> +
> +  //
> +  // status code
> +  //
> +  if (Response->StatusCode != NULL) {
> +    DumpHttpStatusCode (ErrorLevel, *(Response->StatusCode));  }
> +
> +  //
> +  // header
> +  //
> +  if (Response->HeaderCount > 0) {
> +    DEBUG ((ErrorLevel, "Header: %d\n", Response->HeaderCount));
> +    for (Index = 0; Index < Response->HeaderCount; Index++) {
> +      DEBUG ((ErrorLevel, "  %a: %a\n", Response->Headers[Index].FieldName,
> Response->Headers[Index].FieldValue));
> +    }
> +  }
> +
> +  //
> +  // Body
> +  //
> +  if (Response->Payload != NULL) {
> +    DumpRedfishPayload (ErrorLevel, Response->Payload);  }
> +
> +  return EFI_SUCCESS;
> +}
> diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c
> b/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c
> index 4b61fc01ad..662b69512c 100644
> --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c
> +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c
> @@ -3,6 +3,7 @@
> 
>     Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
>    (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
> +  Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -87,12 +88,12 @@ RedfishRestExSendReceive (
>    MediaPresent = TRUE;
>    NetLibDetectMedia (Instance->Service->ControllerHandle, &MediaPresent);
>    if (!MediaPresent) {
> -    DEBUG ((DEBUG_INFO, "RedfishRestExSendReceive(): No MediaPresent.\n"));
> +    DEBUG ((DEBUG_REDFISH_NETWORK, "RedfishRestExSendReceive(): No
> + MediaPresent.\n"));
>      return EFI_NO_MEDIA;
>    }
> 
> -  DEBUG ((DEBUG_INFO, "\nRedfishRestExSendReceive():\n"));
> -  DEBUG ((DEBUG_INFO, "*** Perform HTTP Request Method - %d, URL: %s\n",
> RequestMessage->Data.Request->Method, RequestMessage->Data.Request-
> >Url));
> +  DEBUG ((DEBUG_REDFISH_NETWORK, "\nRedfishRestExSendReceive():\n"));
> +  DEBUG ((DEBUG_REDFISH_NETWORK, "*** Perform HTTP Request Method -
> %d,
> + URL: %s\n", RequestMessage->Data.Request->Method,
> + RequestMessage->Data.Request->Url));
> 
>    //
>    // Add header "Expect" to server, only for URL write.
> @@ -195,7 +196,7 @@ ReSendRequest:;
>      goto ON_EXIT;
>    }
> 
> -  DEBUG ((DEBUG_INFO, "Receiving HTTP response and headers...\n"));
> +  DEBUG ((DEBUG_REDFISH_NETWORK, "Receiving HTTP response and
> + headers...\n"));
>    Status = RedfishCheckHttpReceiveStatus (
>               Instance,
>               HttpIoRecvResponse (
> @@ -219,17 +220,17 @@ ReSendRequest:;
>      RequestMessage->HeaderCount--;                     // Minus one header 
> count for
> "Expect".
>    }
> 
> -  DEBUG ((DEBUG_INFO, "HTTP Response StatusCode - %d:", ResponseData-
> >Response.StatusCode));
> +  DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP Response StatusCode - %d:",
> + ResponseData->Response.StatusCode));
>    if (ResponseData->Response.StatusCode == HTTP_STATUS_200_OK) {
> -    DEBUG ((DEBUG_INFO, "HTTP_STATUS_200_OK\n"));
> +    DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_200_OK\n"));
> 
>      if (SendChunkProcess == HttpIoSendChunkHeaderZeroContent) {
> -      DEBUG ((DEBUG_INFO, "This is chunk transfer, start to send all 
> chunks."));
> +      DEBUG ((DEBUG_REDFISH_NETWORK, "This is chunk transfer, start to
> + send all chunks."));
>        SendChunkProcess++;
>        goto ReSendRequest;
>      }
>    } else if (ResponseData->Response.StatusCode ==
> HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE) {
> -    DEBUG ((DEBUG_INFO,
> "HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE\n"));
> +    DEBUG ((DEBUG_REDFISH_NETWORK,
> + "HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE\n"));
> 
>      Status = EFI_BAD_BUFFER_SIZE;
>      goto ON_EXIT;
> @@ -239,25 +240,25 @@ ReSendRequest:;
>      Status = EFI_ACCESS_DENIED;
>      goto ON_EXIT;
>    } else if (ResponseData->Response.StatusCode ==
> HTTP_STATUS_400_BAD_REQUEST) {
> -    DEBUG ((DEBUG_INFO, "HTTP_STATUS_400_BAD_REQUEST\n"));
> +    DEBUG ((DEBUG_REDFISH_NETWORK,
> "HTTP_STATUS_400_BAD_REQUEST\n"));
>      if (SendChunkProcess == HttpIoSendChunkHeaderZeroContent) {
> -      DEBUG ((DEBUG_INFO, "Bad request may caused by zero length chunk. Try
> to send all chunks...\n"));
> +      DEBUG ((DEBUG_REDFISH_NETWORK, "Bad request may caused by zero
> + length chunk. Try to send all chunks...\n"));
>        SendChunkProcess++;
>        goto ReSendRequest;
>      }
>    } else if (ResponseData->Response.StatusCode ==
> HTTP_STATUS_100_CONTINUE) {
> -    DEBUG ((DEBUG_INFO, "HTTP_STATUS_100_CONTINUE\n"));
> +    DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_100_CONTINUE\n"));
>      if (SendChunkProcess == HttpIoSendChunkHeaderZeroContent) {
>        //
>        // We get HTTP_STATUS_100_CONTINUE to send the body using chunk
> transfer.
>        //
> -      DEBUG ((DEBUG_INFO, "HTTP_STATUS_100_CONTINUE for chunk
> transfer...\n"));
> +      DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_100_CONTINUE for
> + chunk transfer...\n"));
>        SendChunkProcess++;
>        goto ReSendRequest;
>      }
> 
>      if (SendNonChunkProcess == HttpIoSendNonChunkHeaderZeroContent) {
> -      DEBUG ((DEBUG_INFO, "HTTP_STATUS_100_CONTINUE for non chunk
> transfer...\n"));
> +      DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_100_CONTINUE for
> non
> + chunk transfer...\n"));
>        SendNonChunkProcess++;
>        goto ReSendRequest;
>      }
> @@ -281,6 +282,7 @@ ReSendRequest:;
>      }
>    } else {
>      DEBUG ((DEBUG_ERROR, "This HTTP Status is not handled!\n"));
> +    DumpHttpStatusCode (DEBUG_REDFISH_NETWORK,
> + ResponseData->Response.StatusCode);
>      Status = EFI_UNSUPPORTED;
>      goto ON_EXIT;
>    }
> @@ -394,10 +396,10 @@ ReSendRequest:;
>        TotalReceivedSize += ResponseData->BodyLength;
>      }
> 
> -    DEBUG ((DEBUG_INFO, "Total of lengh of Response :%d\n",
> TotalReceivedSize));
> +    DEBUG ((DEBUG_REDFISH_NETWORK, "Total of lengh of Response :%d\n",
> + TotalReceivedSize));
>    }
> 
> -  DEBUG ((DEBUG_INFO, "RedfishRestExSendReceive()- EFI_STATUS: %r\n",
> Status));
> +  DEBUG ((DEBUG_REDFISH_NETWORK, "RedfishRestExSendReceive()-
> + EFI_STATUS: %r\n", Status));
> 
>  ON_EXIT:
> 
> --
> 2.39.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#99630): https://edk2.groups.io/g/devel/message/99630
Mute This Topic: https://groups.io/mt/96672317/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to