Esempio n. 1
0
bool PluginLocate::HttpRequestHandle(HTTPRequest & request)
{
	QString uri = request.GetURI();
	if (uri.startsWith("/vl/locate.jsp"))
	{
		QString serialnumber = request.GetArg("sn").remove(':');
		
		LogInfo(QString("Requesting LOCATE for tag %1").arg(serialnumber));
		
		if(GlobalSettings::Get("Config/StandAlone", true) == false)
		{
			// Forward request to Violet
			QByteArray violetAnswer = request.ForwardTo(GlobalSettings::GetString("DefaultVioletServers/BootServer"));

			// Analyse the answer to see if servers has changed
			QList<QByteArray> lines = violetAnswer.split('\n');
			foreach(QByteArray line, lines)
			{
				if (line.startsWith("ping")) 
				{}
				else if (line.startsWith("broad"))
				{}
				else if (line.startsWith("xmpp_domain"))
				{}
				else
					if (line.size() != 0)
						LogError(QString("Unknown locate server : ") + line);
			}
		}