本文整理汇总了C++中PHTTP_BMO_REQ_OBJECT::AppendBody方法的典型用法代码示例。如果您正苦于以下问题:C++ PHTTP_BMO_REQ_OBJECT::AppendBody方法的具体用法?C++ PHTTP_BMO_REQ_OBJECT::AppendBody怎么用?C++ PHTTP_BMO_REQ_OBJECT::AppendBody使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHTTP_BMO_REQ_OBJECT
的用法示例。
在下文中一共展示了PHTTP_BMO_REQ_OBJECT::AppendBody方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AnscSizeOfString
ANSC_STATUS
CcspCwmpAcscoHttpBspPolish
(
ANSC_HANDLE hThisObject,
ANSC_HANDLE hBmoReq,
ANSC_HANDLE hReqContext
)
{
PCCSP_CWMP_ACS_CONNECTION_OBJECT pMyObject = (PCCSP_CWMP_ACS_CONNECTION_OBJECT)hThisObject;
PANSC_ACS_INTERN_HTTP_CONTENT pHttpGetReq = (PANSC_ACS_INTERN_HTTP_CONTENT)hReqContext;
ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS;
PHTTP_BMO_REQ_OBJECT pBmoReqObj = (PHTTP_BMO_REQ_OBJECT)hBmoReq;
char pBuffer[64] = { 0 };
ULONG i, len = 0;
/* add Authorization header - last good one */
if ( pMyObject->AuthHeaderValue )
{
pBmoReqObj->SetHeaderValueByName((ANSC_HANDLE)pBmoReqObj, "Authorization", pMyObject->AuthHeaderValue);
}
/*
* If there's a cookie returned, add the cookie
*/
for ( i = 0; i < pMyObject->NumCookies; i ++ )
{
if ( pMyObject->Cookies[i] == NULL )
break;
len += _ansc_strlen(pMyObject->Cookies[i]);
}
if ( pMyObject->NumCookies == 0 )
{
CcspTr069PaTraceDebug(("No Cookie will be added.\n"));
}
else
{
char *cookies = (char *)CcspTr069PaAllocateMemory(len + pMyObject->NumCookies*2);
if (cookies) {
AnscZeroMemory(cookies, len + pMyObject->NumCookies*2);
for ( i = 0; i < pMyObject->NumCookies; i ++ )
{
if ( pMyObject->Cookies[i] == NULL )
break;
_ansc_strcat(cookies, pMyObject->Cookies[i]);
if ( i < pMyObject->NumCookies - 1 )
_ansc_strcat(cookies, "; ");
}
pBmoReqObj->SetHeaderValueByName
(
(ANSC_HANDLE)pBmoReqObj,
"Cookie",
cookies
);
CcspTr069PaTraceDebug(("Add Cookie into message: %s\n", cookies));
CcspTr069PaFreeMemory(cookies);
}
}
/* When there is more than one envelope in a single HTTP Request,
* when there is a SOAP response in an HTTP Request, or when there is a
* SOAP Fault response in an HTTP Request, the SOAPAction header in the
* HTTP Request MUST have no value (with no quotes), indicating that this
* header provides no information as to the intent of the message."
*/
if( pHttpGetReq ==NULL || pHttpGetReq->SoapMessage == NULL || AnscSizeOfString(pHttpGetReq->SoapMessage) == 0)
{
/*
* An empty HTTP POST MUST NOT contain a SOAPAction header.
* An empty HTTP POST MUST NOT contain a Content-Type header.
*/
pBmoReqObj->SetHeaderValueByName((ANSC_HANDLE)pBmoReqObj, "Content-Length", "0");
/* pBmoReqObj->SetHeaderValueByName((ANSC_HANDLE)pBmoReqObj, "Content-Type", "text/xml;charset=utf-8"); */
}
else
{
pBmoReqObj->SetHeaderValueByName((ANSC_HANDLE)pBmoReqObj, "Content-Type", "text/xml;charset=utf-8");
_ansc_sprintf(pBuffer, "%u", (unsigned int)AnscSizeOfString(pHttpGetReq->SoapMessage));
pBmoReqObj->SetHeaderValueByName((ANSC_HANDLE)pBmoReqObj, "Content-Length", pBuffer);
if( pHttpGetReq->MethodName == NULL || AnscSizeOfString(pHttpGetReq->MethodName) == 0)
{
pBmoReqObj->SetHeaderValueByName((ANSC_HANDLE)pBmoReqObj, "SOAPAction", "");
}
else
{
_ansc_sprintf(pBuffer, "\"%s\"", pHttpGetReq->MethodName);
pBmoReqObj->SetHeaderValueByName((ANSC_HANDLE)pBmoReqObj, "SOAPAction", pBuffer);
}
returnStatus =
pBmoReqObj->AppendBody
//.........这里部分代码省略.........