changeset 104:40effd83ebcf

servlet name in the file xml \ user name and pwd are encoding
author benoitrigolleau
date Thu, 12 Jul 2007 15:06:41 +0000
parents 33105d5afff8
children 490e955a21f8
files data/fileio/HttpClient.cpp data/fileio/HttpClient.h sv/main/EasaierSessionManager.cpp
diffstat 3 files changed, 36 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/data/fileio/HttpClient.cpp	Thu Jul 12 13:06:40 2007 +0000
+++ b/data/fileio/HttpClient.cpp	Thu Jul 12 15:06:41 2007 +0000
@@ -79,8 +79,8 @@
 		s += QString("<proxy name=\"%1\" port=\"%2\" user=\"%3\" pwd=\"%4\" />\n")
 			.arg(getProxy())
 			.arg(QString::number(getProxyPort()))
-			.arg(getUserProxyId())
-			.arg(getPwdProxyId());
+			.arg(encodeString(getUserProxyId()))
+			.arg(encodeString(getPwdProxyId()));
 	}
 
 	s += indent;
@@ -90,6 +90,11 @@
 		.arg(QString::number(getHostPort()));
 
 	s += indent;
+	s += QString("\t");
+	s += QString("<servlet adresse=\"%1\" />\n")
+		.arg(getServletName());
+
+	s += indent;
 	s += QString("</connexionSettings>\n");
 	
     return s;
@@ -144,8 +149,8 @@
 		if (attributes.value("name") != "")
 			m_httpClient->setUseProxy(true);
 		m_httpClient->setProxyPortInfo(attributes.value("port").toInt());
-		m_httpClient->setUserProxyId(attributes.value("user"));
-		m_httpClient->setPwdProxyId(attributes.value("pwd"));
+		m_httpClient->setUserProxyId(HttpClient::decodeString(attributes.value("user")));
+		m_httpClient->setPwdProxyId(HttpClient::decodeString(attributes.value("pwd")));
 		ok = true;
 
     } else if (name == "host") {
@@ -154,6 +159,10 @@
 		m_httpClient->setHostPortInfo(attributes.value("port").toUShort());
 		ok = true;
 
+    } else if (name == "servlet") {
+		
+		m_httpClient->setServletNameInfo(attributes.value("adresse"));
+		ok = true;
     }
 
     if (!ok) {
@@ -195,4 +204,20 @@
 	.arg(exception.columnNumber());
     std::cerr << errorString.toLocal8Bit().data() << std::endl;
     return QXmlDefaultHandler::fatalError(exception);
+}
+
+QString HttpClient::encodeString(const QString& str){
+	QByteArray bytes = str.toAscii();
+	for(int i=0; i<bytes.count();i++){
+			bytes[i] = bytes[i] ^ 1;	
+	}
+	return QString(bytes.toBase64());
+}
+
+QString HttpClient::decodeString(const QString& str){
+	QByteArray bytes = str.toAscii().fromBase64(str.toAscii());
+	for(int i=0; i<bytes.count();i++){
+			bytes[i] = bytes[i] ^ 1;	
+	}
+	return QString(bytes);
 }
\ No newline at end of file
--- a/data/fileio/HttpClient.h	Thu Jul 12 13:06:40 2007 +0000
+++ b/data/fileio/HttpClient.h	Thu Jul 12 15:06:41 2007 +0000
@@ -17,6 +17,7 @@
 #include <QHttp>
 #include <QFile>
 #include <QXmlDefaultHandler>
+#include <QByteArray>
 
 #include "widgets/ConnectionSettings.h"
 #include "base/XmlExportable.h"
@@ -50,12 +51,14 @@
 
 	inline void setHostInfo(const QString& host) { m_host = host;}
 	inline void setHostPortInfo(const quint16 port) { m_hostPort = port;}
+	inline void setServletNameInfo(const QString& servletName) { m_servletName = servletName;}
 
 	void valuesChanged(ConnectionSettings* dialogBox);
 
 	virtual QString toXmlString(QString indent = "", QString extraAttributes = "") const;
 	bool fromXmlString(QIODevice *file);
-
+	static QString encodeString(const QString& str);
+	static QString decodeString(const QString& str) ;
 private:
 
 	bool		m_useProxy;
@@ -68,6 +71,8 @@
 	quint16		m_hostPort;
 
 	QString		m_servletName;
+
+
 };
 
 
--- a/sv/main/EasaierSessionManager.cpp	Thu Jul 12 13:06:40 2007 +0000
+++ b/sv/main/EasaierSessionManager.cpp	Thu Jul 12 15:06:41 2007 +0000
@@ -398,6 +398,7 @@
 	}
 	QString query = m_httpClient->getServletName() + "?theme="+themeName+""+params;
 	QString filename = "/easaier/servlet/"+themeName;
+	
 
 	QApplication::setOverrideCursor( Qt::WaitCursor );
 	loadFile(query, filename, LoadedFile::QUERY_RESULTS);