本文整理汇总了C++中PHTTP_BMO_REQ_OBJECT::SetHeaderValueByName方法的典型用法代码示例。如果您正苦于以下问题:C++ PHTTP_BMO_REQ_OBJECT::SetHeaderValueByName方法的具体用法?C++ PHTTP_BMO_REQ_OBJECT::SetHeaderValueByName怎么用?C++ PHTTP_BMO_REQ_OBJECT::SetHeaderValueByName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHTTP_BMO_REQ_OBJECT
的用法示例。
在下文中一共展示了PHTTP_BMO_REQ_OBJECT::SetHeaderValueByName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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
//.........这里部分代码省略.........
示例2: while
static void
HttpScoSetCookie
(
ANSC_HANDLE hHfpIf,
ANSC_HANDLE hResponse,
ANSC_HANDLE hRequest
)
{
PHTTP_HFP_INTERFACE pHttpHfpIf = (PHTTP_HFP_INTERFACE)hHfpIf;
PHTTP_BMO_REP_OBJECT pResponse = (PHTTP_BMO_REP_OBJECT)hResponse;
PHTTP_BMO_REQ_OBJECT pRequest = (PHTTP_BMO_REQ_OBJECT)hRequest;
char* pSetCookie = NULL;
BOOL bSetCookie2 = FALSE;
ULONG ulCount1 = 0;
ULONG ulCount2 = 0;
PHTTP_HEADER_FIELD pHttpHfo = NULL;
pRequest->DelHeaderField((ANSC_HANDLE)pRequest, HTTP_HEADER_ID_COOKIE);
while ( TRUE )
{
pSetCookie = pResponse->GetHeaderValueByName2((ANSC_HANDLE)pResponse, "Set-Cookie2", ulCount1++);
if ( !pSetCookie )
{
pSetCookie = pResponse->GetHeaderValueByName2((ANSC_HANDLE)pResponse, "Set-Cookie", ulCount2++);
bSetCookie2 = TRUE;
}
if ( !pSetCookie )
{
break;
}
else
{
char* pCookie = NULL;
ULONG ulCookieSize = AnscSizeOfString(pSetCookie) + 64;
pCookie = (char *)AnscAllocateMemory(ulCookieSize);
if ( pCookie )
{
PHTTP_HFO_SET_COOKIE pHfoSetCookie = NULL;
if ( bSetCookie2 )
{
_ansc_sprintf(pCookie, "Set-Cookie2: %s", pSetCookie);
}
else
{
_ansc_sprintf(pCookie, "Set-Cookie: %s", pSetCookie);
}
pHfoSetCookie = (PHTTP_HFO_SET_COOKIE)pHttpHfpIf->ParseHeader(pHttpHfpIf->hOwnerContext, pCookie, AnscSizeOfString(pCookie));
if ( pHfoSetCookie )
{
char* pCookieValue = NULL;
pHfoSetCookie->HeaderId = HTTP_HEADER_ID_COOKIE;
pHfoSetCookie->Flags &= ~HTTP_FIELD_FLAG_VALUE_PRESENT;
pHfoSetCookie->Flags &= ~HTTP_FIELD_FLAG_LINE_PRESENT;
ulCookieSize = pHttpHfpIf->GetHeaderSize(pHttpHfpIf->hOwnerContext, (ANSC_HANDLE)pHfoSetCookie);
pHttpHfpIf->BuildHeader(pHttpHfpIf->hOwnerContext, (ANSC_HANDLE)pHfoSetCookie, pCookie, ulCookieSize);
pCookie[ulCookieSize] = 0;
if ( pCookie )
{
pRequest->SetHeaderValueByName((ANSC_HANDLE)pRequest, "Cookie", pCookie + 8);
}
AnscFreeMemory(pHfoSetCookie);
}
AnscFreeMemory(pCookie);
}
}
}
}