From e297a0a498139cedca232aff69c41c8996151f0b Mon Sep 17 00:00:00 2001 From: Nagaraj Hegde Date: Mon, 4 Apr 2016 18:09:27 +0800 Subject: MdeModulePkg:DxeHttpLib: Update to DxeHttpLib API Rename and update the logic of HttpGenRequestString API provided by DxeHttpLib. The RequestString size is returned as an argument. The user is not expected to do a AsciiStrLen anymore, and is not logical too, since request string can contain message body and using AsciiStrLen on such a string can provide truncated lengths. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Nagaraj Hegde Reviewed-by: Fu Siyuan Reviewed-by: Samer El-Haj-Mahmoud --- MdeModulePkg/Include/Library/HttpLib.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'MdeModulePkg/Include') diff --git a/MdeModulePkg/Include/Library/HttpLib.h b/MdeModulePkg/Include/Library/HttpLib.h index af9ab5f012..853982025c 100644 --- a/MdeModulePkg/Include/Library/HttpLib.h +++ b/MdeModulePkg/Include/Library/HttpLib.h @@ -417,12 +417,20 @@ HttpFreeHeaderFields ( ); /** - Generate HTTP request string. + Generate HTTP request message. - @param[in] Message Pointer to storage containing HTTP message data. + This function will allocate memory for the whole HTTP message and generate a + well formatted HTTP Request message in it, include the Request-Line, header + fields and also the message body. It is the caller's responsibility to free + the buffer returned in *RequestMsg. + + @param[in] Message Pointer to the EFI_HTTP_MESSAGE structure which + contains the required information to generate + the HTTP request message. @param[in] Url The URL of a remote host. - @param[out] RequestString Pointer to the created HTTP request string. + @param[out] RequestMsg Pointer to the created HTTP request message. NULL if any error occured. + @param[out] RequestMsgSize Size of the RequestMsg (in bytes). @return EFI_SUCCESS If HTTP request string was created successfully @retval EFI_OUT_OF_RESOURCES Failed to allocate resources. @@ -431,10 +439,11 @@ HttpFreeHeaderFields ( **/ EFI_STATUS EFIAPI -HttpGenRequestString ( +HttpGenRequestMessage ( IN CONST EFI_HTTP_MESSAGE *Message, IN CONST CHAR8 *Url, - OUT CHAR8 **RequestString + OUT CHAR8 **RequestMsg, + OUT UINTN *RequestMsgSize ); /** -- cgit v1.2.3