summaryrefslogtreecommitdiff
path: root/noncore/net/ubrowser/httpfactory.cpp
Unidiff
Diffstat (limited to 'noncore/net/ubrowser/httpfactory.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/ubrowser/httpfactory.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/noncore/net/ubrowser/httpfactory.cpp b/noncore/net/ubrowser/httpfactory.cpp
index 154d5d0..b57149f 100644
--- a/noncore/net/ubrowser/httpfactory.cpp
+++ b/noncore/net/ubrowser/httpfactory.cpp
@@ -36,13 +36,13 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
36 //comm->setUp((QString *)&abs_name); 36 //comm->setUp((QString *)&abs_name);
37 37
38 name = abs_name; 38 name = abs_name;
39 //name = name.lower(); 39 //name = name.lower();
40 name = name.stripWhiteSpace(); 40 name = name.stripWhiteSpace();
41 41
42 printf("%s\n", name.latin1()); 42 //printf("%s\n", name.latin1());
43 43
44 if(name.startsWith("http://")) 44 if(name.startsWith("http://"))
45 { 45 {
46 name = name.remove(0, 7); 46 name = name.remove(0, 7);
47 } 47 }
48 else 48 else
@@ -70,13 +70,13 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
70 portS=host; 70 portS=host;
71 host.truncate(portSep); 71 host.truncate(portSep);
72 portS.remove(0, portSep+1); 72 portS.remove(0, portSep+1);
73 port = portS.toInt(); 73 port = portS.toInt();
74 } 74 }
75 75
76 printf("%s %s %d\n", host.latin1(), file.latin1(), port); 76 //printf("%s %s %d\n", host.latin1(), file.latin1(), port);
77 77
78 if(port == 80) 78 if(port == 80)
79 { 79 {
80 portS="80"; 80 portS="80";
81 } 81 }
82 82
@@ -104,13 +104,13 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
104 mb->exec(); 104 mb->exec();
105 perror("HttpFactory::data:"); 105 perror("HttpFactory::data:");
106 return 0; 106 return 0;
107 } 107 }
108 108
109 QByteArray data; 109 QByteArray data;
110 printf( "HttpFactory::data: %s\n", inet_ntoa(*((struct in_addr *)serverInfo->h_addr )) ); 110 //printf( "HttpFactory::data: %s\n", inet_ntoa(*((struct in_addr *)serverInfo->h_addr )) );
111 111
112 QString request("GET " + file + " HTTP/1.1\r\nHost: " + host + ':' + portS + "\r\nConnection: close\r\n\r\n"); 112 QString request("GET " + file + " HTTP/1.1\r\nHost: " + host + ':' + portS + "\r\nConnection: close\r\n\r\n");
113 113
114 con = socket( AF_INET, SOCK_STREAM, 0 ); 114 con = socket( AF_INET, SOCK_STREAM, 0 );
115 if( con == -1 ) 115 if( con == -1 )
116 { 116 {
@@ -142,14 +142,14 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
142 perror("HttpFactory::data:"); 142 perror("HttpFactory::data:");
143 return 0; 143 return 0;
144 } 144 }
145 145
146 146
147 bytesSent = send( con, request.latin1(), request.length(), 0); 147 bytesSent = send( con, request.latin1(), request.length(), 0);
148 printf("HttpFactory::data: bytes written: %d out of: %d\n", bytesSent, request.length() ); 148 //printf("HttpFactory::data: bytes written: %d out of: %d\n", bytesSent, request.length() );
149 printf("HttpFactory::data: request sent:\n%s", request.latin1()); 149 //printf("HttpFactory::data: request sent:\n%s", request.latin1());
150 150
151 data = this->processResponse( con, isText ); 151 data = this->processResponse( con, isText );
152 152
153 ::close( con ); 153 ::close( con );
154 154
155 if(isText) 155 if(isText)
@@ -213,54 +213,54 @@ const QByteArray HttpFactory::processResponse( int sockfd, bool &isText ) const
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 ) >= 1) 226 if( currentLine.contains( "html", false ) >= 1)
227 { 227 {
228 browser->setTextFormat(Qt::RichText); 228 browser->setTextFormat(Qt::RichText);
229 printf( "HttpFactory::processResponse: content type html\n" ); 229 // printf( "HttpFactory::processResponse: content type html\n" );
230 } 230 }
231 } 231 }
232 232
233 if( currentLine.contains( "Content-Type: image", false ) >= 1 ) 233 if( currentLine.contains( "Content-Type: image", false ) >= 1 )
234 { 234 {
235 isText = false; 235 isText = false;
236 printf( "HttpFactory::processResponse: content type image\n" ); 236 // printf( "HttpFactory::processResponse: content type image\n" );
237 } 237 }
238 238
239 if( currentLine.contains( "Content-Length", false ) >= 1 ) 239 if( currentLine.contains( "Content-Length", false ) >= 1 )
240 { 240 {
241 currentLine.remove( 0, 16 ); 241 currentLine.remove( 0, 16 );
242 dataLength = currentLine.toInt(); 242 dataLength = currentLine.toInt();
243 printf( "HttpFactory::processResponse: content length: %d\n", dataLength ); 243 // printf( "HttpFactory::processResponse: content length: %d\n", dataLength );
244 } 244 }
245 245
246 if( currentLine.contains( "404", false ) >= 1 ) 246 if( currentLine.contains( "404", false ) >= 1 )
247 { 247 {
248 printf( "HttpFactory::processResponse: 404 error\n" ); 248 // printf( "HttpFactory::processResponse: 404 error\n" );
249 return 0; 249 return 0;
250 } 250 }
251 251
252 currentLine = ""; 252 currentLine = "";
253 printf("HttpFactory::processResponse: reseting currentLine: %s\n", currentLine.latin1() ); 253 // printf("HttpFactory::processResponse: reseting currentLine: %s\n", currentLine.latin1() );
254 } 254 }
255 } 255 }
256} 256}
257 257
258const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const 258const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const
259{ 259{
260 printf( "HttpFactory::recieveNormal: recieving w/out chunked encoding\n" ); 260 //printf( "HttpFactory::recieveNormal: recieving w/out chunked encoding\n" );
261 261
262 QByteArray data( dataLen ); 262 QByteArray data( dataLen );
263 QByteArray temp( dataLen ); 263 QByteArray temp( dataLen );
264 int recieved, i; 264 int recieved, i;
265 265
266 recieved = recv( sockfd, temp.data(), temp.size(), 0 ); 266 recieved = recv( sockfd, temp.data(), temp.size(), 0 );
@@ -280,19 +280,19 @@ const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const
280 data[i] = temp[j]; 280 data[i] = temp[j];
281 i++; 281 i++;
282 } 282 }
283 temp.fill('\0'); 283 temp.fill('\0');
284 } 284 }
285 285
286 printf( "HttpFactory::recieveNormal: end of data\n" ); 286 //printf( "HttpFactory::recieveNormal: end of data\n" );
287 return data; 287 return data;
288} 288}
289 289
290const QByteArray HttpFactory::recieveChunked( int sockfd ) const 290const QByteArray HttpFactory::recieveChunked( int sockfd ) const
291{ 291{
292 printf( "HttpFactory::recieveChunked: recieving data with chunked encoding\n" ); 292 //printf( "HttpFactory::recieveChunked: recieving data with chunked encoding\n" );
293 293
294 QByteArray data; 294 QByteArray data;
295 QByteArray temp( 1 ); 295 QByteArray temp( 1 );
296 int recieved, i = 0, cSize = 0; 296 int recieved, i = 0, cSize = 0;
297 QString cSizeS; 297 QString cSizeS;
298 298
@@ -303,15 +303,15 @@ const QByteArray HttpFactory::recieveChunked( int sockfd ) const
303 // printf( "HttpFactory::recieveChunked: temp.size(): %d\n", temp.size() ); 303 // printf( "HttpFactory::recieveChunked: temp.size(): %d\n", temp.size() );
304 // printf( "HttpFactory::recieveChunked: temp.data(): %c\n", temp[0] ); 304 // printf( "HttpFactory::recieveChunked: temp.data(): %c\n", temp[0] );
305 cSizeS += temp[0]; 305 cSizeS += temp[0];
306 recv( sockfd, temp.data(), temp.size(), 0 ); 306 recv( sockfd, temp.data(), temp.size(), 0 );
307 } 307 }
308 308
309 printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() ); 309 //printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() );
310 cSize = cSizeS.toInt( 0, 16 ); 310 cSize = cSizeS.toInt( 0, 16 );
311 printf( "HttpFactory::recieveChunked: first chunk of size: %d\n", cSize ); 311 //printf( "HttpFactory::recieveChunked: first chunk of size: %d\n", cSize );
312 312
313 if( *(temp.data()) == ';' ) 313 if( *(temp.data()) == ';' )
314 { 314 {
315 while( *(temp.data()) != '\n' ) 315 while( *(temp.data()) != '\n' )
316 { 316 {
317 recv( sockfd, temp.data(), temp.size(), 0 ); 317 recv( sockfd, temp.data(), temp.size(), 0 );
@@ -352,15 +352,15 @@ const QByteArray HttpFactory::recieveChunked( int sockfd ) const
352 // printf( "HttpFactory::recieveChunked: temp.size(): %d\n", temp.size() ); 352 // printf( "HttpFactory::recieveChunked: temp.size(): %d\n", temp.size() );
353 // printf( "HttpFactory::recieveChunked: temp.data(): %d\n", temp[0] ); 353 // printf( "HttpFactory::recieveChunked: temp.data(): %d\n", temp[0] );
354 cSizeS += temp[0]; 354 cSizeS += temp[0];
355 recv( sockfd, temp.data(), temp.size(), 0 ); 355 recv( sockfd, temp.data(), temp.size(), 0 );
356 } 356 }
357 357
358 printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() ); 358 // printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() );
359 cSize = cSizeS.toInt( 0, 16 ); 359 cSize = cSizeS.toInt( 0, 16 );
360 printf( "HttpFactory::recieveChunked: next chunk of size: %d\n", cSize ); 360 // printf( "HttpFactory::recieveChunked: next chunk of size: %d\n", cSize );
361 361
362 if( *(temp.data()) == ';' ) 362 if( *(temp.data()) == ';' )
363 { 363 {
364 while( *(temp.data()) != '\n' ) 364 while( *(temp.data()) != '\n' )
365 { 365 {
366 recv( sockfd, temp.data(), temp.size(), 0 ); 366 recv( sockfd, temp.data(), temp.size(), 0 );
@@ -368,9 +368,9 @@ const QByteArray HttpFactory::recieveChunked( int sockfd ) const
368 } 368 }
369 369
370 temp.fill( '\0', cSize ); 370 temp.fill( '\0', cSize );
371 data.resize( data.size() + cSize ); 371 data.resize( data.size() + cSize );
372 } 372 }
373 373
374 printf( "HttpFactory::recieveChunked: end of data\n" ); 374 //printf( "HttpFactory::recieveChunked: end of data\n" );
375 return data; 375 return data;
376} 376}