- addr.Hostname(hostname);
- addr.Service(port);
-
- g_proxy->Connect(addr, TRUE); // Watcom needs the 2nd arg for some reason
+ if (!the_i_stream)
+ {
+ m_error = wxURL_PROTOERR;
+ return NULL;
+ }
+
+ return the_i_stream;
+}
+
+#if wxUSE_PROTOCOL_HTTP
+void wxURL::SetDefaultProxy(const wxString& url_proxy)
+{
+ if ( !url_proxy )
+ {
+ if ( ms_proxyDefault )
+ {
+ ms_proxyDefault->Close();
+ delete ms_proxyDefault;
+ ms_proxyDefault = NULL;
+ }
+ }
+ else
+ {
+ wxString tmp_str = url_proxy;
+ int pos = tmp_str.Find(wxT(':'));
+ if (pos == wxNOT_FOUND)
+ return;
+
+ wxString hostname = tmp_str(0, pos),
+ port = tmp_str(pos+1, tmp_str.length()-pos);
+ wxIPV4address addr;
+
+ if (!addr.Hostname(hostname))
+ return;
+ if (!addr.Service(port))
+ return;
+
+ if (ms_proxyDefault)
+ // Finally, when all is right, we connect the new proxy.
+ ms_proxyDefault->Close();
+ else
+ ms_proxyDefault = new wxHTTP();
+ ms_proxyDefault->Connect(addr, true); // Watcom needs the 2nd arg for some reason
+ }