mirror of https://github.com/acidanthera/audk.git
78 lines
2.2 KiB
C
78 lines
2.2 KiB
C
/** @file
|
|
Definitions of RedfishHttpOperation
|
|
|
|
Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef EDKII_REDFISH_HTTP_OPERATION_H_
|
|
#define EDKII_REDFISH_HTTP_OPERATION_H_
|
|
|
|
#include "RedfishHttpDxe.h"
|
|
|
|
#define REDFISH_CONTENT_LENGTH_SIZE 80
|
|
#define REDFISH_COMMON_HEADER_SIZE 5
|
|
#define REDFISH_HTTP_HEADER_ODATA_VERSION_STR "OData-Version"
|
|
#define REDFISH_HTTP_HEADER_ODATA_VERSION_VALUE "4.0"
|
|
#define REDFISH_HTTP_HEADER_USER_AGENT_VALUE "edk2redfish"
|
|
#define REDFISH_HTTP_HEADER_CONNECTION_STR "Connection"
|
|
#define REDFISH_HTTP_HEADER_CONNECTION_VALUE "Keep-Alive"
|
|
#define REDFISH_HTTP_CONTENT_ENCODING_NONE "None"
|
|
#define ASCII_STR_DUPLICATE(a) (AllocateCopyPool (AsciiStrSize ((a)), (a)))
|
|
|
|
/**
|
|
This function free resources in Request. Request is no longer available
|
|
after this function returns successfully.
|
|
|
|
@param[in] Request HTTP request to be released.
|
|
|
|
@retval EFI_SUCCESS Resource is released successfully.
|
|
@retval Others Errors occur.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
ReleaseRedfishRequest (
|
|
IN REDFISH_REQUEST *Request
|
|
);
|
|
|
|
/**
|
|
This function free resources in given Response.
|
|
|
|
@param[in] Response HTTP response to be released.
|
|
|
|
@retval EFI_SUCCESS Resource is released successfully.
|
|
@retval Others Errors occur.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
ReleaseRedfishResponse (
|
|
IN REDFISH_RESPONSE *Response
|
|
);
|
|
|
|
/**
|
|
This function send Redfish request to Redfish service by calling
|
|
Rest Ex protocol.
|
|
|
|
@param[in] Service Pointer to Redfish service.
|
|
@param[in] Uri Uri of Redfish service.
|
|
@param[in] Method HTTP method.
|
|
@param[in] Request Request data. This is optional.
|
|
@param[out] Response Redfish response data.
|
|
|
|
@retval EFI_SUCCESS Request is sent and received successfully.
|
|
@retval Others Errors occur.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
HttpSendReceive (
|
|
IN REDFISH_SERVICE Service,
|
|
IN EFI_STRING Uri,
|
|
IN EFI_HTTP_METHOD Method,
|
|
IN REDFISH_REQUEST *Request OPTIONAL,
|
|
OUT REDFISH_RESPONSE *Response
|
|
);
|
|
|
|
#endif
|