Skip to content

Commit f16f469

Browse files
committed
modify:added rtc url name when http api verification
added:http option supported
1 parent c285a14 commit f16f469

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR
6363
XCHAR** pptszList;
6464
LPCXSTR lpszMethodPost = _X("POST");
6565
LPCXSTR lpszMethodGet = _X("GET");
66+
LPCXSTR lpszMethodOPtion = _X("OPTION");
6667
XCHAR tszRVBuffer[4096];
6768
XCHAR tszSDBuffer[4096];
6869
XCHAR tszUrlName[128];
@@ -75,6 +76,9 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR
7576

7677
st_HDRParam.nHttpCode = 200; //HTTP CODE码
7778
st_HDRParam.bIsClose = true; //收到回复后就关闭
79+
80+
XCHAR tszAPIType[MAX_PATH] = {};
81+
HttpProtocol_ServerHelp_GetUrlApi(pSt_HTTPParam->tszHttpUri, tszAPIType);
7882
//得到URL参数个数
7983
HttpProtocol_ServerHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszList, &nListCount, tszUrlName);
8084
if (nListCount < 1)
@@ -91,11 +95,12 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR
9195
LPCXSTR lpszFuncName = _X("api");
9296
LPCXSTR lpszFunctionStr = _X("function");
9397
LPCXSTR lpszStreamStr = _X("stream");
98+
LPCXSTR lpszFunRtc = _X("rtc");
9499

95100
memset(tszKey, '\0', sizeof(tszKey));
96101
memset(tszValue, '\0', sizeof(tszValue));
97102

98-
if (0 != _tcsxnicmp(lpszFuncName, tszUrlName, _tcsxlen(lpszFuncName)))
103+
if (0 != _tcsxnicmp(lpszFuncName, tszUrlName, _tcsxlen(lpszFuncName)) && 0 != _tcsxnicmp(lpszFunRtc, tszAPIType, _tcsxlen(lpszFunRtc)))
99104
{
100105
ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 400, "Bad Request,parament is incorrent");
101106
HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
@@ -134,6 +139,22 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR
134139
PullStream_ClientGet_Handle(lpszClientAddr, &pptszList, nListCount);
135140
}
136141
}
142+
else if (0 == _tcsxnicmp(lpszMethodOPtion, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodOPtion)))
143+
{
144+
nSDLen = _xstprintf(tszSDBuffer, _X("HTTP/1.1 200 OK\r\n"
145+
"Connection: Close\r\n"
146+
"Access-Control-Allow-Origin: *\r\n"
147+
"Access-Control-Allow-Headers: *\r\n"
148+
"Access-Control-Allow-Methods: *\r\n"
149+
"Access-Control-Expose-Headers: *\r\n"
150+
"Access-Control-Allow-Credentials: false\r\n"
151+
"Access-Control-Request-Private-Network: true\r\n"
152+
"Content-Length: 0\r\n"
153+
"Server: %s\r\n\r\n"), BaseLib_OperatorVer_XTypeStr());
154+
155+
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP);
156+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP接口:%s,请求OPTION方法成功"), lpszClientAddr);
157+
}
137158
else
138159
{
139160
//可能是RTSP

0 commit comments

Comments
 (0)