Commit Graph

106 Commits

Author SHA1 Message Date
Vadim Zeitlin
56a6bc8006 Use correct version string for wxHTTP User-Agent header by default
Just reuse the existing version string macro instead of duplicating the
version here.

Closes #17199.
2016-01-30 00:55:39 +01:00
Vadim Zeitlin
6c43aa90b6 Fix for PCH-less build of wxProtocol after recent changes.
Include wx/app.h in protocol.cpp, don't include it in http.cpp which doesn't
need it any more.

See #17031.
2015-07-05 17:50:02 +02:00
Vadim Zeitlin
d421373c2e Use blocking sockets from non-main threads in wxProtocol.
Non-blocking sockets can't work in worker threads without additional locking
as they generate events that can be dispatched from the main thread after the
socket object, created in the worker thread, is already destroyed, so don't
even attempt to use them if wxProtocol object is created from non-main thread.

Also simplify the code by removing the calls to SetFlags(), Notify() and
{Save,Restore}State() and simply put the socket from the beginning in
blocking, wait all mode that it needs to be in.

This, with the fixes in the previous commit, allows wxHTTP and wxFTP to work
from worker threads too.

Test using wxHTTP from a worker thread in the socket client sample.

Closes #17031.
2015-07-05 16:45:07 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
6535170f3d Allow using custom method names in wxHTTP.
Add wxHTTP::SetMethod().

Also simplify the code by determining the method to use in Connect() instead
of doing it in BuildRequest() itself.

Get rid of the now unused wxHTTP_Req enum.

Closes #15354.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:55:13 +00:00
Vadim Zeitlin
f668749377 Initialize all wxHTTPStream members in ctor.
Don't leave m_httpsize and m_read_bytes uninitialized.

Closes #14993.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-23 11:44:30 +00:00
Vadim Zeitlin
d15e514e84 Use wxSOCKET_WAITALL in wxHTTP to ensure that all data is sent.
POST-ing sufficiently big amounts of data in wxHTTP didn't work because it
couldn't be sent all at once to the server. Use wxSOCKET_WAITALL to ensure
that we do send all of the data.

Closes #14598.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-30 20:22:40 +00:00
Vadim Zeitlin
c84ef5b9f7 Fix wxHTTP::SetPostBuffer() compilation in ANSI build.
wxString::mb_str() returns a raw pointer and not wxScopedCharBuffer when
wxUSE_UNICODE==0 so fix the code to do it differently in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-31 13:09:11 +00:00
Vadim Zeitlin
ab9d6a4c8b Add SetPostBuffer(wxMemoryBuffer) and SetPostText() to wxHTTP.
This allows to post binary data or text data in e.g. UTF-8 encoding (which is
by far the most common case) easily.

Deprecate the existing SetPostBuffer(wxString) as it didn't explicitly specify
the encoding to use for the data to be posted.

Closes #13870.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-20 12:22:25 +00:00
Dimitri Schoolwerth
6636ef8ddf Use wxString's empty() when checking if the string is (non-)empty throughout wx.
Instead of constructs such as if "( s.length() )" and "if (s.length() > 0)" use "if ( !s.empty() )" instead. Similarly for "if (s.length() == 0)" or "if ( s.IsNull() )", use "if ( s.empty() )".
No code changes intended except for a few instances where a construct like "if ( s.length() && wxFileExists(s) )" was changed to not check the length of the string and let wxFileExists handle such cases.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 14:38:36 +00:00
Vadim Zeitlin
658e62e493 Fix posting of binary data using wxHTTP.
Don't use mbc_str() which can fail to convert contents of the string created
using wxString::From8BitData(). Use To8BitData() instead.

This fixes posting of binary data via HTTP using binary content transfer
encoding.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-25 09:42:21 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
e97cbf8398 No changes, just add a comment.
There is no need to reproduce wxBase64Encode() in wxHTTP code, should just use
the existing function instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-19 12:36:32 +00:00
Vadim Zeitlin
ccc3a25d87 Remove unnecessary comparison of unsigned variable with 0.
m_httpsize is of type size_t and so is always >= 0, no need to check for it.
And removing the check avoids a warning from at least IRIX mipsPro (and
probably others).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-28 11:08:34 +00:00
Vadim Zeitlin
330ca4d434 Fix wxHTTPStream::Eof() to return true for empty HTTP resources.
Eof() never returned true when attempting to read an empty resource before.

Closes #11596.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-24 01:00:03 +00:00
Julian Smart
906cb3f119 Applied modified #10655 (Added Cookie (receive) support to wxHTTP)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-26 19:47:23 +00:00
Vadim Zeitlin
1c7a6772c1 include port number in HTTP Host header (closes #10632)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 23:38:03 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Francesco Montorsi
730b772b41 Move SetDefaultTimeout to wxProtocol and set it to 60 seconds for both wxHTTP and wxFTP
Move SetPassword and SetUser implementations to wxProtocol to avoid code redundancy
Make const-correct various getters
Reorganize wxFTP docs
Move wxStringToStringHashMap to hashmap.h and document its existance



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 15:08:13 +00:00
Vadim Zeitlin
ddc7f0c975 fix virtual function hiding warnings introduced to changing wxSockAddress argument of Connect() to be passed by const reference
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-20 08:59:45 +00:00
Paul Cornett
204abcd474 remove unneccessary header dependencies on wx/thread.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 02:55:14 +00:00
Václav Slavík
8650108199 don't use implicit wxString->char*/wchar_t* conversion, it will not be available in wxUSE_STL build in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:42:41 +00:00
Václav Slavík
2523e9b700 use UTF8-encoded char* strings in UTF8 build instead of wchar_t* if the current locale uses UTF8;
fall back to widechar CRT functions in the locale is not UTF8


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-26 11:40:04 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Vadim Zeitlin
886f61cacb fix base64 computation for strings whose length modulo 3 is 2 (patch 1665520; bug 1661616)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 23:07:16 +00:00
Włodzimierz Skiba
670f993563 Include wx/app.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-28 12:44:37 +00:00
Julian Smart
dbccd1c261 Applied patch [ 1381420 ] wxHTTP Basic authentication support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-19 10:28:22 +00:00
Vadim Zeitlin
a09f8377ec use for instead of while for infinite loop (the latter provokes a warning from DEC cc)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-08 16:54:43 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Stefan Csomor
8b6b8e21a4 corrected error code for http responses with no content-length indicated (from READ_ERROR to EOF) so that clients of streams can rely on getting EOF or NO_ERROR when everything is ok
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-02 17:30:31 +00:00
Vadim Zeitlin
f3d0213e5b use ReadLine() instead of GetLine() which sometimes hangs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-29 22:28:02 +00:00
Włodzimierz Skiba
48f7ffbe93 First part of '[ 1216148 ] cleanup: unused variables and declarations'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-07 19:01:45 +00:00
Vadim Zeitlin
9b0db4529f made IsMainLoopRunning() static and implemented it for wxAppConsole too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-04 20:21:44 +00:00
Dimitri Schoolwerth
a8d628fcc5 added missing include for non-PCH compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-04 15:23:43 +00:00
Vadim Zeitlin
90fc4a0ccb don't use non blocking sockets if wxApp::IsMainLoopRunnning() returns false (closes 994293)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-04 10:52:32 +00:00
Włodzimierz Skiba
5d3e7b52d8 Source cleaning: whitespaces, tabs, FALSE/false, TRUE/true, -1/wxDefaultCoord, !!/!IsEmpty().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-15 13:20:18 +00:00
Vadim Zeitlin
06014e4f36 compilation warning about printf type mismatch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-20 22:38:22 +00:00
Vadim Zeitlin
1411f7eb1a compilation fix for wxUSE_THREADS == 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-19 08:47:08 +00:00
Stefan Csomor
b8bafcaad8 applied patch 90459
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-15 18:17:31 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Mattia Barbon
bdcade0a10 When wxUSE_STL == 1 and STL provides quasi-standard hash_map/hash_set,
wxHashMap/wxHashSet are just typedefs for them. This makes impossible
to forward declare these classes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-08 20:20:24 +00:00
Vadim Zeitlin
2e622163d0 wxHTTP::GetResponse() added (patch 794394)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-20 23:55:32 +00:00
Václav Slavík
14f355c2b5 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
David Elliott
0148248250 Use wxGetEmptyString() so the types in the ?: statement are both wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-10 12:27:26 +00:00
Vadim Zeitlin
71414756b2 (blindly) fixed header case confusion (replacement for patch 763760)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-10 11:40:26 +00:00
Vadim Zeitlin
ed83150139 oops, compilation fix after applying the patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-09 22:47:02 +00:00
Vadim Zeitlin
f9133b3200 added support for POST method and alternate ports (part of patch 649438)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-09 22:22:47 +00:00