ANSC_HANDLE HttpBmoCreateMessageBody ( ANSC_HANDLE hThisObject ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_BASIC_MESSAGE_OBJECT pMyObject = (PHTTP_BASIC_MESSAGE_OBJECT)hThisObject; PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf; PHTTP_MESSAGE_BODY_OBJECT pMessageBody = NULL; PHTTP_HFO_TRANSFER_ENCODING pHttpHfoTransferEncoding = NULL; ULONG ulIndex = 0; ULONG ulEncodingType = IANA_TCODING_CODE_IDENTITY; pHttpHfoTransferEncoding = (PHTTP_HFO_TRANSFER_ENCODING)pMyObject->GetHeaderField ( (ANSC_HANDLE)pMyObject, HTTP_HEADER_ID_TRANSFER_ENCODING ); if ( pHttpHfoTransferEncoding && (pHttpHfoTransferEncoding->EncodingCount > 0) ) { ulIndex = pHttpHfoTransferEncoding->EncodingCount - 1; ulEncodingType = pHttpHfoTransferEncoding->EncodingArray[ulIndex].Type; } switch ( ulEncodingType ) { case IANA_TCODING_CODE_IDENTITY : pMessageBody = (PHTTP_MESSAGE_BODY_OBJECT)HttpCreateMboIdentity ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); break; case IANA_TCODING_CODE_CHUNKED : pMessageBody = (PHTTP_MESSAGE_BODY_OBJECT)HttpCreateMboChunked ( pMyObject->hContainerContext, (ANSC_HANDLE)pMyObject, (ANSC_HANDLE)NULL ); break; default : break; } return (ANSC_HANDLE)pMessageBody; }
ANSC_HANDLE HttpBmoBccGetHeaderField ( ANSC_HANDLE hThisObject, ULONG ulHeaderId ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_BASIC_MESSAGE_OBJECT pMyObject = (PHTTP_BASIC_MESSAGE_OBJECT)hThisObject; PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf; return pMyObject->GetHeaderField((ANSC_HANDLE)pMyObject, ulHeaderId); }
char* HttpBmoGetHeaderValueById ( ANSC_HANDLE hThisObject, ULONG ulHeaderId ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_BASIC_MESSAGE_OBJECT pMyObject = (PHTTP_BASIC_MESSAGE_OBJECT )hThisObject; PHTTP_HFP_INTERFACE pHfpIf = (PHTTP_HFP_INTERFACE )pMyObject->hHfpIf; #ifndef _CCSP_CWMP_TCP_CONNREQ_HANDLER PHTTP_HELPER_CONTAINER_OBJECT pHttpHco = (PHTTP_HELPER_CONTAINER_OBJECT)pMyObject->hContainerContext; #endif PHTTP_HEADER_FIELD pHttpHfo = NULL; char* pHttpHfValue = NULL; pHttpHfo = (PHTTP_HEADER_FIELD)pMyObject->GetHeaderField ( (ANSC_HANDLE)pMyObject, ulHeaderId ); if ( !pHttpHfo ) { return NULL; } else if ( !(pHttpHfo->Flags & HTTP_FIELD_FLAG_LINE_PRESENT) ) { returnStatus = pHfpIf->BuildHeader ( pHfpIf->hOwnerContext, (ANSC_HANDLE)pHttpHfo, NULL, 0 ); } AnscHttpGetHfValue(pHttpHfo->HeaderLine, AnscSizeOfString(pHttpHfo->HeaderLine), pHttpHfValue); return pHttpHfValue; }