EFI HTTP Utilities protocol provides a platform independent abstraction for HTTP message comprehension.
Copyright (c) 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
- Revision Reference:
- This Protocol is introduced in UEFI Specification 2.5
Create HTTP header based on a combination of seed header, fields to delete, and fields to append.
The Build() function is used to manage the headers portion of an HTTP message by providing the ability to add, remove, or replace HTTP headers.
- Parameters
-
[in] | This | Pointer to EFI_HTTP_UTILITIES_PROTOCOL instance. |
[in] | SeedMessageSize | Size of the initial HTTP header. This can be zero. |
[in] | SeedMessage | Initial HTTP header to be used as a base for building a new HTTP header. If NULL, SeedMessageSize is ignored. |
[in] | DeleteCount | Number of null-terminated HTTP header field names in DeleteList. |
[in] | DeleteList | List of null-terminated HTTP header field names to remove from SeedMessage. Only the field names are in this list because the field values are irrelevant to this operation. |
[in] | AppendCount | Number of header fields in AppendList. |
[in] | AppendList | List of HTTP headers to populate NewMessage with. If SeedMessage is not NULL, AppendList will be appended to the existing list from SeedMessage in NewMessage. |
[out] | NewMessageSize | Pointer to number of header fields in NewMessage. |
[out] | NewMessage | Pointer to a new list of HTTP headers based on. |
- Return values
-
EFI_SUCCESS | Add, remove, and replace operations succeeded. |
EFI_OUT_OF_RESOURCES | Could not allocate memory for NewMessage. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE: This is NULL. |
Parses HTTP header and produces an array of key/value pairs.
The Parse() function is used to transform data stored in HttpHeader into a list of fields paired with their corresponding values.
- Parameters
-
[in] | This | Pointer to EFI_HTTP_UTILITIES_PROTOCOL instance. |
[in] | HttpMessage | Contains raw unformatted HTTP header string. |
[in] | HttpMessageSize | Size of HTTP header. |
[out] | HeaderFields | Array of key/value header pairs. |
[out] | FieldCount | Number of headers in HeaderFields. |
- Return values
-
EFI_SUCCESS | Allocation succeeded. |
EFI_NOT_STARTED | This EFI HTTP Protocol instance has not been initialized. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE: This is NULL. HttpMessage is NULL. HeaderFields is NULL. FieldCount is NULL. |