summaryrefslogtreecommitdiff
authorspiralman <spiralman>2002-07-22 22:37:22 (UTC)
committer spiralman <spiralman>2002-07-22 22:37:22 (UTC)
commitc19b6cccd243107eb774c5e0bdb269265f3b5abe (patch) (unidiff)
tree9c888fb5a6a09d102df3143b9458465c11e7380a
parent0433711d6f7190073c476a2f771dfce879ef87e5 (diff)
downloadopie-c19b6cccd243107eb774c5e0bdb269265f3b5abe.zip
opie-c19b6cccd243107eb774c5e0bdb269265f3b5abe.tar.gz
opie-c19b6cccd243107eb774c5e0bdb269265f3b5abe.tar.bz2
fixed some bugs with chunked transfer encoding, still doesnt work though
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/ubrowser/Makefile20
-rw-r--r--noncore/net/ubrowser/Makefile.in18
-rw-r--r--noncore/net/ubrowser/httpcomm.cpp49
3 files changed, 63 insertions, 24 deletions
diff --git a/noncore/net/ubrowser/Makefile b/noncore/net/ubrowser/Makefile
index 4d92441..69aaf20 100644
--- a/noncore/net/ubrowser/Makefile
+++ b/noncore/net/ubrowser/Makefile
@@ -1,5 +1,5 @@
1############################################################################# 1#############################################################################
2# Automatically generated from noncore/ubrowser/Makefile.in 2# Automatically generated from noncore/net/ubrowser/Makefile.in
3# Build options from 3# Build options from
4############################################################################# 4#############################################################################
5 5
@@ -105,7 +105,7 @@ CXX = $(SYSCONF_CXX) $(QT_CXX_MT)
105 CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS) 105 CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS)
106 CC =$(SYSCONF_CC) $(QT_C_MT) 106 CC =$(SYSCONF_CC) $(QT_C_MT)
107 CFLAGS =$(SYSCONF_CFLAGS) 107 CFLAGS =$(SYSCONF_CFLAGS)
108 INCPATH =-I$(OPIEDIR)/include 108 INCPATH =-I../../../include
109 LFLAGS =$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT) 109 LFLAGS =$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
110 LIBS =$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP) 110 LIBS =$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP)
111 MOC =$(SYSCONF_MOC) 111 MOC =$(SYSCONF_MOC)
@@ -113,7 +113,7 @@ UIC = $(SYSCONF_UIC)
113 113
114####### Target 114####### Target
115 115
116DESTDIR = $(OPIEDIR)/bin/ 116DESTDIR = ../../../bin/
117VER_MAJ = 1 117VER_MAJ = 1
118VER_MIN = 0 118VER_MIN = 0
119VER_PATCH = 0 119VER_PATCH = 0
@@ -206,17 +206,17 @@ REQUIRES=
206####### Compile 206####### Compile
207 207
208main.o: main.cpp \ 208main.o: main.cpp \
209 $(OPIEDIR)/include/qpe/qpeapplication.h \ 209 ../../../include/qpe/qpeapplication.h \
210 mainview.h \ 210 mainview.h \
211 $(OPIEDIR)/include/qpe/resource.h \ 211 ../../../include/qpe/resource.h \
212 $(OPIEDIR)/include/qpe/qpetoolbar.h \ 212 ../../../include/qpe/qpetoolbar.h \
213 httpfactory.h \ 213 httpfactory.h \
214 httpcomm.h 214 httpcomm.h
215 215
216mainview.o: mainview.cpp \ 216mainview.o: mainview.cpp \
217 mainview.h \ 217 mainview.h \
218 $(OPIEDIR)/include/qpe/resource.h \ 218 ../../../include/qpe/resource.h \
219 $(OPIEDIR)/include/qpe/qpetoolbar.h \ 219 ../../../include/qpe/qpetoolbar.h \
220 httpfactory.h \ 220 httpfactory.h \
221 httpcomm.h 221 httpcomm.h
222 222
@@ -229,8 +229,8 @@ httpcomm.o: httpcomm.cpp \
229 229
230moc_mainview.o: moc_mainview.cpp \ 230moc_mainview.o: moc_mainview.cpp \
231 mainview.h \ 231 mainview.h \
232 $(OPIEDIR)/include/qpe/resource.h \ 232 ../../../include/qpe/resource.h \
233 $(OPIEDIR)/include/qpe/qpetoolbar.h \ 233 ../../../include/qpe/qpetoolbar.h \
234 httpfactory.h \ 234 httpfactory.h \
235 httpcomm.h 235 httpcomm.h
236 236
diff --git a/noncore/net/ubrowser/Makefile.in b/noncore/net/ubrowser/Makefile.in
index 010f16f..43b5111 100644
--- a/noncore/net/ubrowser/Makefile.in
+++ b/noncore/net/ubrowser/Makefile.in
@@ -6,7 +6,7 @@ CXX = $(SYSCONF_CXX) $(QT_CXX_MT)
6 CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS) 6 CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS)
7 CC =$(SYSCONF_CC) $(QT_C_MT) 7 CC =$(SYSCONF_CC) $(QT_C_MT)
8 CFLAGS =$(SYSCONF_CFLAGS) 8 CFLAGS =$(SYSCONF_CFLAGS)
9 INCPATH =-I$(OPIEDIR)/include 9 INCPATH =-I../../../include
10 LFLAGS =$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT) 10 LFLAGS =$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
11 LIBS =$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP) 11 LIBS =$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP)
12 MOC =$(SYSCONF_MOC) 12 MOC =$(SYSCONF_MOC)
@@ -14,7 +14,7 @@ UIC = $(SYSCONF_UIC)
14 14
15####### Target 15####### Target
16 16
17DESTDIR = $(OPIEDIR)/bin/ 17DESTDIR = ../../../bin/
18VER_MAJ = 1 18VER_MAJ = 1
19VER_MIN = 0 19VER_MIN = 0
20VER_PATCH = 0 20VER_PATCH = 0
@@ -107,17 +107,17 @@ REQUIRES=
107####### Compile 107####### Compile
108 108
109main.o: main.cpp \ 109main.o: main.cpp \
110 $(OPIEDIR)/include/qpe/qpeapplication.h \ 110 ../../../include/qpe/qpeapplication.h \
111 mainview.h \ 111 mainview.h \
112 $(OPIEDIR)/include/qpe/resource.h \ 112 ../../../include/qpe/resource.h \
113 $(OPIEDIR)/include/qpe/qpetoolbar.h \ 113 ../../../include/qpe/qpetoolbar.h \
114 httpfactory.h \ 114 httpfactory.h \
115 httpcomm.h 115 httpcomm.h
116 116
117mainview.o: mainview.cpp \ 117mainview.o: mainview.cpp \
118 mainview.h \ 118 mainview.h \
119 $(OPIEDIR)/include/qpe/resource.h \ 119 ../../../include/qpe/resource.h \
120 $(OPIEDIR)/include/qpe/qpetoolbar.h \ 120 ../../../include/qpe/qpetoolbar.h \
121 httpfactory.h \ 121 httpfactory.h \
122 httpcomm.h 122 httpcomm.h
123 123
@@ -130,8 +130,8 @@ httpcomm.o: httpcomm.cpp \
130 130
131moc_mainview.o: moc_mainview.cpp \ 131moc_mainview.o: moc_mainview.cpp \
132 mainview.h \ 132 mainview.h \
133 $(OPIEDIR)/include/qpe/resource.h \ 133 ../../../include/qpe/resource.h \
134 $(OPIEDIR)/include/qpe/qpetoolbar.h \ 134 ../../../include/qpe/qpetoolbar.h \
135 httpfactory.h \ 135 httpfactory.h \
136 httpcomm.h 136 httpcomm.h
137 137
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
@@ -136,7 +136,8 @@ void HttpComm::incoming()
136 //remove the http header, if one exists 136 //remove the http header, if one exists
137 if(j != 0) 137 if(j != 0)
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 }
141 while(!done) 142 while(!done)
142 { 143 {
@@ -149,23 +150,28 @@ void HttpComm::incoming()
149 sclength.truncate(j); 150 sclength.truncate(j);
150 clength = sclength.toUInt(0, 16); 151 clength = sclength.toUInt(0, 16);
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)
153 { 155 {
154 processBody(); 156 processBody();
155 done=true; 157 done=true;
156 } 158 }
159 //still more, but it hasnt been recieved yet
157 if(ba <= j) 160 if(ba <= j)
158 { 161 {
159 status=1; 162 status=1;
160 done=true; 163 done=true;
161 // break; 164 break;
162 } 165 }
166 //still more data waiting
163 else 167 else
164 { 168 {
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:
170 //chunk length just read, still more in tempQstring 176 //chunk length just read, still more in tempQstring
171 case 1: 177 case 1:
@@ -174,6 +180,7 @@ void HttpComm::incoming()
174 { 180 {
175 QString newTQstring = tempQString; 181 QString newTQstring = tempQString;
176 newTQstring.truncate(clength-bRead); 182 newTQstring.truncate(clength-bRead);
183 bRead+=newTQstring.length();
177 body+=newTQstring; 184 body+=newTQstring;
178 printf("HttpComm::incoming: start new body piece 1: \n"); 185 printf("HttpComm::incoming: start new body piece 1: \n");
179 printf("%s", newTQstring.latin1() ); 186 printf("%s", newTQstring.latin1() );
@@ -181,7 +188,7 @@ void HttpComm::incoming()
181 status=0; 188 status=0;
182 j=clength-bRead; 189 j=clength-bRead;
183 done=false; 190 done=false;
184 break; 191 // break;
185 } 192 }
186 //the chunk extends beyond the current data; 193 //the chunk extends beyond the current data;
187 else 194 else
@@ -192,10 +199,42 @@ void HttpComm::incoming()
192 printf("%s", tempQString.latin1() ); 199 printf("%s", tempQString.latin1() );
193 printf("HttpComm::incoming: end new body piece 2.\n"); 200 printf("HttpComm::incoming: end new body piece 2.\n");
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 }
197 break; 235 break;
198 } 236 }
237 printf("HttpComm::incoming: chunked encoding: bRead: %d\n", bRead);
199 } 238 }
200 } 239 }
201 } 240 }