diff data/fileio/HttpClient.cpp @ 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 ca3a5912fd78
children 9441b45b1e7f
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