/* Server specific parts */
/*
- GSocket_SetServer() setup the socket as a server. It uses the "Local" field
+ GSocket_SetServer() setups the socket as a server. It uses the "Local" field
of GSocket. "Local" must be set by GSocket_SetLocal() before
GSocket_SetServer() is called. In the other case, it returns GSOCK_INVADDR.
*/
"<a href=\"%s-3\">sub-3</a><br>"
"</blockquote></body></html>",
location.GetData(), location.GetData(), location.GetData(), location.GetData());
+
+ // WARNING: wxMemoryInputStream will not free buf.
+ // There is a memory leak here.
str = new wxMemoryInputStream(buf, strlen(buf));
f = new wxFSFile(str, location, "text/html", wxEmptyString);
return f;
wxChar buf[200]; // 200 is arbitrary.
wxString tmp_str = path;
+ // If there is no User-Agent defined, define it.
+ if (GetHeader(_T("User-Agent")).IsNull())
+ SetHeader(_T("User-Agent"), _T("wxWindows 2.x"));
+
switch (req) {
case wxHTTP_GET:
tmp_buf = _T("GET");
if (!tmp_str.Contains(_T("HTTP/"))) {
// TODO: support HTTP v0.9 which can have no header.
+ // FIXME: tmp_str is not put back in the in-queue of the socket.
SetHeader(_T("Content-Length"), _T("-1"));
SetHeader(_T("Content-Type"), _T("none/none"));
RestoreState();
token.NextToken();
tmp_str2 = token.NextToken();
- switch (wxAtoi(tmp_str2)) {
- case 200:
+ switch (tmp_str2[0]) {
+ case _T('1'):
+ /* INFORMATION / SUCCESS */
+ break;
+ case _T('2'):
+ /* SUCCESS */
+ break;
+ case _T('3'):
+ /* REDIRECTION */
break;
default:
m_perr = wxPROTO_NOFILE;
wxEvtHandler(),
m_socket(NULL), m_flags(_flags), m_type(_type),
m_neededreq(GSOCK_INPUT_FLAG | GSOCK_LOST_FLAG),
- m_lcount(0), m_timeout(3600),
+ m_lcount(0), m_timeout(600),
m_unread(NULL), m_unrd_size(0), m_unrd_cur(0),
m_cbk(NULL), m_cdata(NULL),
m_connected(FALSE), m_notify_state(FALSE), m_id(-1),
wxEvtHandler(),
m_socket(NULL), m_flags(SPEED | WAITALL), m_type(SOCK_UNINIT),
m_neededreq(GSOCK_INPUT_FLAG | GSOCK_LOST_FLAG),
- m_lcount(0), m_timeout(3600),
+ m_lcount(0), m_timeout(600),
m_unread(NULL), m_unrd_size(0), m_unrd_cur(0),
m_cbk(NULL), m_cdata(NULL),
m_connected(FALSE), m_notify_state(FALSE), m_id(-1),
#endif
#include <wx/html/htmltag.h>
+#include <stdio.h> // for vsscanf
#include <stdarg.h>