summaryrefslogtreecommitdiff
path: root/noncore/net/ubrowser/httpcomm.cpp
Unidiff
Diffstat (limited to 'noncore/net/ubrowser/httpcomm.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/ubrowser/httpcomm.cpp49
1 files changed, 44 insertions, 5 deletions
diff --git a/noncore/net/ubrowser/httpcomm.cpp b/noncore/net/ubrowser/httpcomm.cpp
index 51068db..54f7acf 100644
--- a/noncore/net/ubrowser/httpcomm.cpp
+++ b/noncore/net/ubrowser/httpcomm.cpp
@@ -138,3 +138,4 @@ void HttpComm::incoming()
138 { 138 {
139 tempQString.remove(0, j); 139 tempQString.remove(0, j+1);
140 printf("HttpComm::incoming: removing http header. Result: \n%s", tempQString.latin1());
140 } 141 }
@@ -151,2 +152,3 @@ void HttpComm::incoming()
151 printf("HttpComm::Incoming: chunk length: %d\n", clength); 152 printf("HttpComm::Incoming: chunk length: %d\n", clength);
153 //end of data
152 if(clength==0) 154 if(clength==0)
@@ -156,2 +158,3 @@ void HttpComm::incoming()
156 } 158 }
159 //still more, but it hasnt been recieved yet
157 if(ba <= j) 160 if(ba <= j)
@@ -160,4 +163,5 @@ void HttpComm::incoming()
160 done=true; 163 done=true;
161 // break; 164 break;
162 } 165 }
166 //still more data waiting
163 else 167 else
@@ -165,5 +169,7 @@ void HttpComm::incoming()
165 done=false; 169 done=false;
170 //remove the chunk length header
171 tempQString.remove(0,j+1);
166 } 172 }
167 bRead=0; 173 bRead=0;
168 break; 174 // break;
169 //if there is more fall through to: 175 //if there is more fall through to:
@@ -176,2 +182,3 @@ void HttpComm::incoming()
176 newTQstring.truncate(clength-bRead); 182 newTQstring.truncate(clength-bRead);
183 bRead+=newTQstring.length();
177 body+=newTQstring; 184 body+=newTQstring;
@@ -183,3 +190,3 @@ void HttpComm::incoming()
183 done=false; 190 done=false;
184 break; 191 // break;
185 } 192 }
@@ -194,3 +201,34 @@ void HttpComm::incoming()
194 done=true; 201 done=true;
195 break; 202 status=2;
203 // break;
204 }
205 break;
206 //just got data in, continue reading chunk
207 case 2:
208 //the current data extends beyond the end of the chunk
209 if(bRead + tempQString.length() > clength)
210 {
211 QString newTQstring = tempQString;
212 newTQstring.truncate(clength-bRead);
213 bRead+=newTQstring.length();
214 body+=newTQstring;
215 printf("HttpComm::incoming: start new body piece 3: \n");
216 printf("%s", newTQstring.latin1() );
217 printf("HttpComm::incoming: end new body piece 3.\n");
218 status=0;
219 j=clength-bRead;
220 done=false;
221 // break;
222 }
223 //the chunk extends beyond the current data;
224 else
225 {
226 body+=tempQString;
227 bRead+=ba;
228 printf("HttpComm::incoming: start new body piece 4: \n");
229 printf("%s", tempQString.latin1() );
230 printf("HttpComm::incoming: end new body piece 4.\n");
231 done=true;
232 status=2;
233 // break;
196 } 234 }
@@ -198,2 +236,3 @@ void HttpComm::incoming()
198 } 236 }
237 printf("HttpComm::incoming: chunked encoding: bRead: %d\n", bRead);
199 } 238 }