コード例 #1
0
ファイル: sheer_cloud.cpp プロジェクト: alvine24/CairnSmith
void SheerCloudLink::download_completed(){
  QByteArray got = m_reply->readAll();
  if( m_out != NULL ) {
    *m_out = got;
  };
  request_completed();
};
コード例 #2
0
void http_response_t::send(
		const std::string &payload,
		bool content_complete,
		bool close_after_write)
{
	if (content_complete && !keep_alive)
		close_after_write = true;

	auto connection = weak_connection.lock();
	if (connection != nullptr)
	{
		std::stringstream ss;
		if (!sent_headers)
		{
			ss << "HTTP/" << (keep_alive ? "1.1 ": "1.0 ") << code << " " << reason << "\r\n";
			for (auto &field_pair : fields)
			{
				ss << field_pair.first << ": " << field_pair.second << "\r\n";
			}
			if (payload.size() != 0)
			{
				ss << "Content-Type: " << content_type << "\r\n";
				//ss << "Transfer-Encoding: chunked\r\n";
				if (keep_alive)
					ss << "Connection: keep-alive\r\n";
				ss << "Content-Length: " << payload.size() << "\r\n";
				ss << "\r\n";
			}
		}

		//ss << std::hex << payload.size() << "\r\n";
		ss.write(payload.c_str(), payload.size());
		//ss << "\r\n";

		if (payload.size() != 0 || close_after_write)
			connection->queue_write(ss.str(), close_after_write);

		sent_headers = true;

		if (content_complete)
		{
			dlog(log_info, "request completed\n");
			connection->request_completed();
		}
	}
	else
	{
		dlog(log_warning, "%s bailed out on send\n");
	}
}
コード例 #3
0
ファイル: sheer_cloud.cpp プロジェクト: alvine24/CairnSmith
void SheerCloudLink::delete_completed(){
  QByteArray got = m_reply->readAll();
  request_completed();
};
コード例 #4
0
ファイル: sheer_cloud.cpp プロジェクト: alvine24/CairnSmith
void SheerCloudLink::upload_completed(){
  QByteArray got = m_reply->readAll();
  disconnect( this, SLOT(upload_completed()) );
  request_completed();
};
コード例 #5
0
ファイル: sheer_cloud.cpp プロジェクト: alvine24/CairnSmith
void SheerCloudLink::login_completed(){
  if( QString(m_reply->readAll()).contains( "OK" ) ) {
    m_is_authorized = true;
  };
  request_completed();
};