Ejemplo n.º 1
0
void Pillow::HttpClient::headersComplete()
{
	Pillow::HttpResponseParser::headersComplete();
	if (statusCode() == 100)
		return;

	emit headersCompleted();

	if (Pillow::ByteArrayHelpers::asciiEqualsCaseInsensitive(_request.method, Pillow::LowerCaseToken("head")))
	{
		pause();
		messageComplete();
	}
	else
	{
		for (int i = 0, iE = _headers.size(); i < iE; ++i)
		{
			const Pillow::HttpHeader& header = _headers.at(i);
			if (Pillow::ByteArrayHelpers::asciiEqualsCaseInsensitive(header.first, Pillow::LowerCaseToken("content-encoding")))
			{
				if (Pillow::ByteArrayHelpers::asciiEqualsCaseInsensitive(header.second, Pillow::LowerCaseToken("gzip")))
					_contentDecoder = new Pillow::GunzipContentTransformer();
			}
		}
	}
}
void OwnInputParser::checkForCompleteFrame()
{
   /* frame is completed if it ends with '##' or if it's too long */
   if (m_incomingMessage.endsWith("##") || (m_incomingMessage.size() >= MAX_MESSAGE_SIZE))
   {
      emit messageComplete( m_incomingMessage);

      m_incomingMessage.clear();
   }
}