1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
/** @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
|