本文整理汇总了C++中HTTPRequest::isHead方法的典型用法代码示例。如果您正苦于以下问题:C++ HTTPRequest::isHead方法的具体用法?C++ HTTPRequest::isHead怎么用?C++ HTTPRequest::isHead使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTTPRequest
的用法示例。
在下文中一共展示了HTTPRequest::isHead方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
void *child(void *arg) {
MySocket *client = (MySocket *) arg;
bool requestActive = true;
while (requestActive) {
HTTPRequest *request = new HTTPRequest(client, PORT);
HTTPResponse *response = new HTTPResponse();
IptvService *service = new IptvService();
if (!request->readRequest()) {
// XXX FIXME throw an exception
break;
} else if (request->isHead()) {
service->head(request, response);
client->write(response->response());
} else if (request->isGet()) {
service->get(request, response);
client->write(response->response());
shared_ptr<BlockingQueue<string>> queue =
shared_ptr<BlockingQueue<string>>(new BlockingQueue<string>());
struct ThreadData *threadData = new struct ThreadData;
threadData->queue = queue;
threadData->service = service;
pthread_t tid;
pthread_create(&tid, NULL, streamService, threadData);
pthread_detach(tid);
try {
string data;
while (true) {
data = queue->popFront();
HttpUtils::writeChunk(client, data.c_str(), data.length());
}
} catch (SocketWriteError swe) {
requestActive = false;
} catch (...) {
// swallow it
}
queue->close();
}
delete response;
delete request;
}
client->close();
delete client;
return NULL;
}