summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/ubrowser/httpfactory.cpp5
-rw-r--r--noncore/net/ubrowser/httpfactory.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/noncore/net/ubrowser/httpfactory.cpp b/noncore/net/ubrowser/httpfactory.cpp
index 0586e96..4ace4cb 100644
--- a/noncore/net/ubrowser/httpfactory.cpp
+++ b/noncore/net/ubrowser/httpfactory.cpp
@@ -202,48 +202,53 @@ const QByteArray HttpFactory::processResponse( int sockfd, bool &isText ) const
202 if( *(inputBin.data()) == '\n' ) 202 if( *(inputBin.data()) == '\n' )
203 { 203 {
204 if( currentLine.isEmpty() || currentLine.startsWith( "\r") ) 204 if( currentLine.isEmpty() || currentLine.startsWith( "\r") )
205 { 205 {
206 printf( "HttpFactory::processResponse: end of header\n" ); 206 printf( "HttpFactory::processResponse: end of header\n" );
207 if( chunked ) 207 if( chunked )
208 { 208 {
209 return recieveChunked( sockfd ); 209 return recieveChunked( sockfd );
210 } else { 210 } else {
211 return recieveNormal( sockfd, dataLength ); 211 return recieveNormal( sockfd, dataLength );
212 } 212 }
213 done = true; 213 done = true;
214 } 214 }
215 215
216 if( currentLine.contains( "Transfer-Encoding: chunked", false) >= 1 ) 216 if( currentLine.contains( "Transfer-Encoding: chunked", false) >= 1 )
217 { 217 {
218 chunked = true; 218 chunked = true;
219 printf( "HttpFactory::processResponse: chunked encoding\n" ); 219 printf( "HttpFactory::processResponse: chunked encoding\n" );
220 } 220 }
221 221
222 if( currentLine.contains( "Content-Type: text", false ) >= 1 ) 222 if( currentLine.contains( "Content-Type: text", false ) >= 1 )
223 { 223 {
224 isText = true; 224 isText = true;
225 printf( "HttpFactory::processResponse: content type text\n" ); 225 printf( "HttpFactory::processResponse: content type text\n" );
226 if( currentLine.contains( "html", false ) )
227 {
228 browser->setTextFormat(Qt::RichText);
229 printf( "HttpFactory::processResponse: content type html\n" );
230 }
226 } 231 }
227 232
228 if( currentLine.contains( "Content-Type: image", false ) >= 1 ) 233 if( currentLine.contains( "Content-Type: image", false ) >= 1 )
229 { 234 {
230 isText = false; 235 isText = false;
231 printf( "HttpFactory::processResponse: content type image\n" ); 236 printf( "HttpFactory::processResponse: content type image\n" );
232 } 237 }
233 238
234 if( currentLine.contains( "Content-Length", false ) >= 1 ) 239 if( currentLine.contains( "Content-Length", false ) >= 1 )
235 { 240 {
236 currentLine.remove( 0, 16 ); 241 currentLine.remove( 0, 16 );
237 dataLength = currentLine.toInt(); 242 dataLength = currentLine.toInt();
238 printf( "HttpFactory::processResponse: content length: %d\n", dataLength ); 243 printf( "HttpFactory::processResponse: content length: %d\n", dataLength );
239 } 244 }
240 245
241 currentLine = ""; 246 currentLine = "";
242 printf("HttpFactory::processResponse: reseting currentLine: %s\n", currentLine.latin1() ); 247 printf("HttpFactory::processResponse: reseting currentLine: %s\n", currentLine.latin1() );
243 } 248 }
244 } 249 }
245} 250}
246 251
247const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const 252const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const
248{ 253{
249 printf( "HttpFactory::recieveNormal: recieving w/out chunked encoding\n" ); 254 printf( "HttpFactory::recieveNormal: recieving w/out chunked encoding\n" );
diff --git a/noncore/net/ubrowser/httpfactory.h b/noncore/net/ubrowser/httpfactory.h
index 214120c..ec59ebb 100644
--- a/noncore/net/ubrowser/httpfactory.h
+++ b/noncore/net/ubrowser/httpfactory.h
@@ -9,43 +9,43 @@ version.
9This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the 9This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
10implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 10implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11Public License for more details. 11Public License for more details.
12 12
13You should have received a copy of the GNU General Public License along with this program; if not, write to the Free 13You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
14Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 14Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15*/ 15*/
16 16
17#include <qmime.h> 17#include <qmime.h>
18//#include <qsocket.h> 18//#include <qsocket.h>
19#include <qstring.h> 19#include <qstring.h>
20#include <qdragobject.h> 20#include <qdragobject.h>
21#include <qtextbrowser.h> 21#include <qtextbrowser.h>
22#include <qmessagebox.h> 22#include <qmessagebox.h>
23 23
24#include <stdio.h> 24#include <stdio.h>
25 25
26#include <sys/types.h> 26#include <sys/types.h>
27#include <sys/socket.h> 27#include <sys/socket.h>
28#include <unistd.h> 28#include <unistd.h>
29#include <netinet/in.h> 29#include <netinet/in.h>
30#include <netdb.h> 30#include <netdb.h>
31#include <arpa/inet.h> 31#include <arpa/inet.h>
32 32
33#include "httpcomm.h" 33//#include "httpcomm.h"
34 34
35class HttpFactory : public QMimeSourceFactory 35class HttpFactory : public QMimeSourceFactory
36{ 36{
37public: 37public:
38 HttpFactory(QTextBrowser *newBrowser); 38 HttpFactory(QTextBrowser *newBrowser);
39 const QMimeSource * data(const QString &abs_name) const; 39 const QMimeSource * data(const QString &abs_name) const;
40 const QMimeSource * data(const QString &abs_or_rel_name, const QString & context) const; 40 const QMimeSource * data(const QString &abs_or_rel_name, const QString & context) const;
41private: 41private:
42 //QSocket *socket; 42 //QSocket *socket;
43 HttpComm *comm; 43 //HttpComm *comm;
44 QTextDrag *text; 44 QTextDrag *text;
45 QImageDrag *image; 45 QImageDrag *image;
46 QTextBrowser *browser; 46 QTextBrowser *browser;
47 47
48 const QByteArray processResponse( int sockfd, bool &isText) const; 48 const QByteArray processResponse( int sockfd, bool &isText) const;
49 const QByteArray recieveNormal( int sockfd, int dataLen ) const; 49 const QByteArray recieveNormal( int sockfd, int dataLen ) const;
50 const QByteArray recieveChunked( int sockfd ) const; 50 const QByteArray recieveChunked( int sockfd ) const;
51}; 51};