author | spiralman <spiralman> | 2002-07-25 16:38:22 (UTC) |
---|---|---|
committer | spiralman <spiralman> | 2002-07-25 16:38:22 (UTC) |
commit | 11170a8b8c1a2755cb7d9416ea99fc5067d0c53d (patch) (unidiff) | |
tree | 0e2ea513139dfd146e8fe8f96f8fb791d2382e17 /noncore/net/ubrowser/httpcomm.cpp | |
parent | 8895e9bd55244f32f12ff619e020a23afac44808 (diff) | |
download | opie-11170a8b8c1a2755cb7d9416ea99fc5067d0c53d.zip opie-11170a8b8c1a2755cb7d9416ea99fc5067d0c53d.tar.gz opie-11170a8b8c1a2755cb7d9416ea99fc5067d0c53d.tar.bz2 |
removed infinite loop with chunked encoding
fixed generation of context for http requests (QTextBrowser still ignores them)
chunked encoding still misses large portions of data...
Diffstat (limited to 'noncore/net/ubrowser/httpcomm.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/ubrowser/httpcomm.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/noncore/net/ubrowser/httpcomm.cpp b/noncore/net/ubrowser/httpcomm.cpp index 54f7acf..b086b58 100644 --- a/noncore/net/ubrowser/httpcomm.cpp +++ b/noncore/net/ubrowser/httpcomm.cpp | |||
@@ -152,12 +152,13 @@ void HttpComm::incoming() | |||
152 | printf("HttpComm::Incoming: chunk length: %d\n", clength); | 152 | printf("HttpComm::Incoming: chunk length: %d\n", clength); |
153 | //end of data | 153 | //end of data |
154 | if(clength==0) | 154 | if(clength==0) |
155 | { | 155 | { |
156 | processBody(); | 156 | processBody(); |
157 | done=true; | 157 | done=true; |
158 | return; | ||
158 | } | 159 | } |
159 | //still more, but it hasnt been recieved yet | 160 | //still more, but it hasnt been recieved yet |
160 | if(ba <= j) | 161 | if(ba <= j) |
161 | { | 162 | { |
162 | status=1; | 163 | status=1; |
163 | done=true; | 164 | done=true; |
@@ -191,13 +192,13 @@ void HttpComm::incoming() | |||
191 | // break; | 192 | // break; |
192 | } | 193 | } |
193 | //the chunk extends beyond the current data; | 194 | //the chunk extends beyond the current data; |
194 | else | 195 | else |
195 | { | 196 | { |
196 | body+=tempQString; | 197 | body+=tempQString; |
197 | bRead+=ba; | 198 | bRead+=tempQString.length(); |
198 | printf("HttpComm::incoming: start new body piece 2: \n"); | 199 | printf("HttpComm::incoming: start new body piece 2: \n"); |
199 | printf("%s", tempQString.latin1() ); | 200 | printf("%s", tempQString.latin1() ); |
200 | printf("HttpComm::incoming: end new body piece 2.\n"); | 201 | printf("HttpComm::incoming: end new body piece 2.\n"); |
201 | done=true; | 202 | done=true; |
202 | status=2; | 203 | status=2; |
203 | // break; | 204 | // break; |
@@ -221,13 +222,13 @@ void HttpComm::incoming() | |||
221 | // break; | 222 | // break; |
222 | } | 223 | } |
223 | //the chunk extends beyond the current data; | 224 | //the chunk extends beyond the current data; |
224 | else | 225 | else |
225 | { | 226 | { |
226 | body+=tempQString; | 227 | body+=tempQString; |
227 | bRead+=ba; | 228 | bRead+=tempQString.length(); |
228 | printf("HttpComm::incoming: start new body piece 4: \n"); | 229 | printf("HttpComm::incoming: start new body piece 4: \n"); |
229 | printf("%s", tempQString.latin1() ); | 230 | printf("%s", tempQString.latin1() ); |
230 | printf("HttpComm::incoming: end new body piece 4.\n"); | 231 | printf("HttpComm::incoming: end new body piece 4.\n"); |
231 | done=true; | 232 | done=true; |
232 | status=2; | 233 | status=2; |
233 | // break; | 234 | // break; |
@@ -276,20 +277,22 @@ void HttpComm::parseHeader() | |||
276 | 277 | ||
277 | printf("HttpConn::parseHeader: content-length: %d\n", length); | 278 | printf("HttpConn::parseHeader: content-length: %d\n", length); |
278 | } | 279 | } |
279 | 280 | ||
280 | void HttpComm::processBody() | 281 | void HttpComm::processBody() |
281 | { | 282 | { |
283 | printf("HttpComm::processBody: processing body\n"); | ||
282 | //printf("HttpComm::processBody: start body\n\n"); | 284 | //printf("HttpComm::processBody: start body\n\n"); |
283 | //printf("%s", body.latin1()); | 285 | //printf("%s", body.latin1()); |
284 | //printf("HttpComm::processBody: end body\n"); | 286 | //printf("HttpComm::processBody: end body\n"); |
285 | 287 | ||
286 | int lastSlash = file.findRev('/'); | 288 | int lastSlash = file.findRev('/'); |
287 | 289 | ||
288 | QString end = file; | 290 | QString end = file; |
289 | end.truncate(lastSlash-1); | 291 | end.truncate(lastSlash+1); |
290 | QString context("http://"+host+':'+portS+end); | 292 | QString context("http://"+host+':'+portS+end); |
293 | printf("HttpComm::processBody: context: %s\n", context.latin1() ); | ||
291 | 294 | ||
292 | browser->setTextFormat(RichText); | 295 | browser->setTextFormat(RichText); |
296 | browser->mimeSourceFactory()->setFilePath(context); | ||
293 | browser->setText(body, context); | 297 | browser->setText(body, context); |
294 | printf("%s\n", context.latin1() ); | ||
295 | } | 298 | } |