TianoCore EDK2 master
|
#include <Protocol/EdkIIRedfishHttpProtocol.h>
Go to the source code of this file.
Functions | |
REDFISH_SERVICE | RedfishCreateService (IN REDFISH_CONFIG_SERVICE_INFORMATION *RedfishConfigServiceInfo) |
EFI_STATUS | RedfishCleanupService (IN REDFISH_SERVICE RedfishService) |
EDKII_JSON_VALUE | RedfishJsonInPayload (IN REDFISH_PAYLOAD RedfishPayload) |
EFI_STATUS | RedfishHttpFreeRequest (IN REDFISH_REQUEST *Request) |
EFI_STATUS | RedfishHttpFreeResponse (IN REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpExpireResponse (IN EFI_STRING Uri) |
EFI_STATUS | RedfishHttpGetResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN REDFISH_REQUEST *Request OPTIONAL, OUT REDFISH_RESPONSE *Response, IN BOOLEAN UseCache) |
EFI_STATUS | RedfishHttpPatchResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPatchResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPutResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPutResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPostResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPostResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpDeleteResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpDeleteResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content OPTIONAL, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
This file defines the Redfish HTTP library interface.
Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file RedfishHttpLib.h.
EFI_STATUS RedfishCleanupService | ( | IN REDFISH_SERVICE | RedfishService | ) |
This function free resources in Redfish service. RedfishService is no longer available after this function returns successfully.
[in] | RedfishService | Pointer to Redfish service to be released. |
EFI_SUCCESS | Resource is released successfully. |
Others | Errors occur. |
Free the Service and all its related resources.
[in] | RedfishService | The Service to access the Redfish resources. |
Definition at line 55 of file RedfishHttpLib.c.
REDFISH_SERVICE RedfishCreateService | ( | IN REDFISH_CONFIG_SERVICE_INFORMATION * | RedfishConfigServiceInfo | ) |
This function create Redfish service. It's caller's responsibility to free returned Redfish service by calling FreeService ().
[in] | RedfishConfigServiceInfo | Redfish config service information. |
REDFISH_SERVICE | Redfish service is created. |
NULL | Errors occur. |
This function uses REST EX protocol provided in RedfishConfigServiceInfo. The service enumerator will also handle the authentication flow automatically if HTTP basic auth or Redfish session login is configured to use.
Callers are responsible for freeing the returned service by RedfishCleanupService().
[in] | RedfishConfigServiceInfo | Redfish service information the EFI Redfish feature driver communicates with. |
Definition at line 30 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpDeleteResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP DELETE to delete redfish resource on given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP DELETE. |
[in] | Uri | Target resource URI. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 459 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpDeleteResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 *Content | OPTIONAL, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP DELETE to delete redfish resource on given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP DELETE. |
[in] | Uri | Target resource URI. |
[in] | Content | JSON represented properties to be deleted. This is optional. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content if Content is not NULL. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 500 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpExpireResponse | ( | IN EFI_STRING | Uri | ) |
This function expire the cached response of given URI.
[in] | Uri | Target response of URI. |
EFI_SUCCESS | Target response is expired successfully. |
Others | Errors occur. |
Definition at line 155 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpFreeRequest | ( | IN REDFISH_REQUEST * | Request | ) |
This function free resources in Request. Request is no longer available after this function returns successfully.
[in] | Request | HTTP request to be released. |
EFI_SUCCESS | Resource is released successfully. |
Others | Errors occur. |
Definition at line 106 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpFreeResponse | ( | IN REDFISH_RESPONSE * | Response | ) |
This function free resources in Response. Response is no longer available after this function returns successfully.
[in] | Response | HTTP response to be released. |
EFI_SUCCESS | Resource is released successfully. |
Others | Errors occur. |
Definition at line 131 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpGetResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN REDFISH_REQUEST *Request | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response, | ||
IN BOOLEAN | UseCache | ||
) |
Get redfish resource from given resource URI with cache mechanism supported. It's caller's responsibility to Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP GET. |
[in] | Uri | Target resource URI. |
[in] | Request | Additional request context. This is optional. |
[out] | Response | HTTP response from redfish service. |
[in] | UseCache | If it is TRUE, this function will search for cache first. If it is FALSE, this function will query Redfish URI directly. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 187 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPatchResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PATCH to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PATCH. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to patch. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 223 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPatchResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PATCH to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PATCH. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to patch. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 264 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPostResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP POST to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP POST. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to post. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 381 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPostResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP POST to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP POST. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to post. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 422 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPutResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PUT to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PUT. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to put. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 302 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPutResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PUT to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PUT. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to put. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 343 of file RedfishHttpLib.c.
EDKII_JSON_VALUE RedfishJsonInPayload | ( | IN REDFISH_PAYLOAD | Payload | ) |
This function returns JSON value in given RedfishPayload. Returned JSON value is a reference to the JSON value in RedfishPayload. Any modification to returned JSON value will change JSON value in RedfishPayload.
[in] | RedfishPayload | Pointer to Redfish payload. |
EDKII_JSON_VALUE | JSON value is returned. |
NULL | Errors occur. |
This function returns the decoded JSON value of a REDFISH_PAYLOAD.
Caller doesn't need to free the returned JSON value because it will be released in corresponding RedfishCleanupPayload() function.
[in] | Payload | A REDFISH_PAYLOAD instance. |
Definition at line 81 of file RedfishHttpLib.c.