Tatsuhiro Tsujikawa
f0f1cfab5c
Use util::strifind instead of std::toLower and std::string::find.
2011-11-12 01:13:55 +09:00
Tatsuhiro Tsujikawa
226480ad60
Made const char[] static
2011-11-11 23:00:41 +09:00
Tatsuhiro Tsujikawa
d45d854926
Rewritten base64::decode and base64::encode
2011-11-05 23:30:46 +09:00
Tatsuhiro Tsujikawa
17a1b51a76
mv Base64.{cc,h} base64.{cc,h}
2011-11-05 21:13:49 +09:00
Tatsuhiro Tsujikawa
601ec0f44a
Removed util::startsWith(a, b)
2011-11-04 23:43:32 +09:00
Tatsuhiro Tsujikawa
f84d2253b2
Rewritten util::split and added its iterator version.
...
Iterator based functions util::startsWith, util::endsWith,
util::streq, util::strieq were added.
2011-11-04 22:27:58 +09:00
Tatsuhiro Tsujikawa
7230fbd2f7
Replaced HAVE_LIBZ with HAVE_ZLIB
2011-02-18 22:34:38 +09:00
Tatsuhiro Tsujikawa
1b9329c67c
Accept HTTP 304 reply as success when If-None-Match request-header
...
field is specified using --header option.
When --conditional-get is used, --allow-overwrite is now required to
overwrite existing file.
2011-01-29 23:19:10 +09:00
Tatsuhiro Tsujikawa
1372ac51ad
2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added .cc file for classes/structs that only provided by header
file. Defined non-POD classes' ctor, dtor in .cc file. Moved
implementation code in header file to .cc file for major
classes/strucsts.
2010-11-14 07:17:55 +00:00
Tatsuhiro Tsujikawa
93e5dbed32
2010-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed SharedHandle::isNull(). Instead we added operator* and
operator unspecified_bool_type. Removed use of WeakHandle and
replaced with raw pointer.
2010-11-12 12:48:48 +00:00
Tatsuhiro Tsujikawa
6e88cae02b
2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Fixed the bug that downloading > 4GB file fails on 32bit systems.
* src/HttpRequest.cc
* src/HttpRequestCommand.cc
2010-10-31 04:36:38 +00:00
Tatsuhiro Tsujikawa
236e64cb25
2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use unnamed namespace instead of static keyword.
* src/AbstractCommand.cc
* src/AdaptiveURISelector.cc
* src/Base64.cc
* src/BitfieldMan.cc
* src/BtDependency.cc
* src/ConsoleStatCalc.cc
* src/ContentTypeRequestGroupCriteria.cc
* src/CookieStorage.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTRoutingTableDeserializer.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultPeerStorage.cc
* src/DefaultPieceStorage.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/EpollEventPoll.cc
* src/ExpatMetalinkProcessor.cc
* src/ExpatXmlRpcRequestProcessor.cc
* src/FileEntry.cc
* src/HttpRequest.cc
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/KqueueEventPoll.cc
* src/LongestSequencePieceSelector.cc
* src/MetalinkParserStateV3Impl.cc
* src/MetalinkParserStateV4Impl.cc
* src/MultiDiskAdaptor.cc
* src/MultiUrlRequestInfo.cc
* src/OptionParser.cc
* src/PeerSessionResource.cc
* src/PortEventPoll.cc
* src/Request.cc
* src/RequestGroupMan.cc
* src/SelectEventPoll.cc
* src/SessionSerializer.cc
* src/SimpleLogFormatter.cc
* src/Sqlite3CookieParser.cc
* src/TrackerWatcherCommand.cc
* src/XML2SAXMetalinkProcessor.cc
* src/Xml2XmlRpcRequestProcessor.cc
* src/XmlRpcMethod.cc
* src/XmlRpcMethodImpl.cc
* src/XmlRpcResponse.cc
* src/base32.cc
* src/bencode2.cc
* src/bittorrent_helper.cc
* src/download_helper.cc
* src/main.cc
* src/messageDigest.cc
* src/option_processing.cc
* src/util.cc
* test/AnnounceListTest.cc
* test/BtRegistryTest.cc
* test/DHTBucketTest.cc
* test/DHTRoutingTableTest.cc
* test/DefaultBtAnnounceTest.cc
* test/FileEntryTest.cc
* test/FtpConnectionTest.cc
* test/MSEHandshakeTest.cc
* test/MagnetTest.cc
* test/XmlRpcMethodTest.cc
* test/array_funTest.cc
2010-10-30 16:02:15 +00:00
Tatsuhiro Tsujikawa
b8f8a14937
2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Don't append slash in CookieStorage::criteriaFind(). Append file
part of URI to request-uri in HttpRequest::createRequest(). This
change reverts the part of the previous change:"The
request-path must be ends with '/' so that request-path '/foo/'
path-matches cookie-path '/foo' and '/foo/' in the proposed
algorithm."
* src/CookieStorage.cc
* src/HttpRequest.cc
2010-10-09 14:38:47 +00:00
Tatsuhiro Tsujikawa
906215317a
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added --conditional-get option. Download file only when the local
file is older than remote file. This function only works with
HTTP(S) downloads only. It does not work if file size is specified
in Metalink. It also ignores Content-Disposition header. If a
control file exists, this option will be ignored. This function
uses If-Modified-Since header to get only newer file
conditionally. When getting modification time of local file, it
uses user supplied filename(see --out option) or filename part in
URI if --out is not specified.
* doc/aria2c.1.txt
* src/HttpHeader.cc
* src/HttpHeader.h
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponse.cc
* src/HttpResponseCommand.cc
* src/OptionHandlerFactory.cc
* src/TimeA2.cc
* src/TimeA2.h
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* test/HttpResponseTest.cc
* test/TimeTest.cc
2010-07-16 14:13:04 +00:00
Tatsuhiro Tsujikawa
8274432f14
2010-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Set end byte in Range header if start byte > 0 to get more chance
to pool socket.
* src/DefaultPieceStorage.cc
* src/DefaultPieceStorage.h
* src/DownloadCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/PieceStorage.h
* src/UnknownLengthPieceStorage.h
* test/DefaultPieceStorageTest.cc
* test/HttpRequestTest.cc
* test/MockPieceStorage.h
2010-07-12 11:55:23 +00:00
Tatsuhiro Tsujikawa
ca4940622c
2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Changed naming standards for class member variable: now it looks
like var_ instead of _var.
2010-06-21 13:51:56 +00:00
Tatsuhiro Tsujikawa
f9c77a25ec
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Renamed member variables.
* src/HttpRequest.cc
* src/HttpRequest.h
2010-06-12 09:52:24 +00:00
Tatsuhiro Tsujikawa
6996f07f5f
2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Don't send "Accept: default, gzip" by default. This is because
some server responds with "Content-Encoding: gzip" for files which
itself is gzipped file and aria2 inflates them. This is a problem
if user don't want to inflate the file. Apparently this is server
configuration error, but I cannot do anything about this. So turn
this off. Added --http-accept-gzip option. If true is given to
this option, aria2 sends 'Accept: deflate, gzip' request header
and inflates response if remote server responds with
'Content-Encoding: gzip' or 'Content-Encoding: deflate'. This
indicates we removed extension tgz hack in order not to inflate
files with tgz extensions.
* doc/aria2c.1.txt
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/OptionHandlerFactory.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* test/HttpRequestTest.cc
2010-04-02 14:16:10 +00:00
Tatsuhiro Tsujikawa
10b52bd9ac
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
urlencode -> percentEncode,
torrentUrlencode -> torrentPercentEncode
* src/BtHandshakeMessage.cc
* src/BtHandshakeMessageValidator.h
* src/DHTMessageFactoryImpl.cc
* src/DefaultBtAnnounce.cc
* src/HandshakeExtensionMessage.cc
* src/HttpRequest.cc
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/util.cc
* src/util.h
* test/DHTAnnouncePeerMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/UTPexExtensionMessageTest.cc
* test/UtilTest.cc
2010-03-07 14:24:21 +00:00
Tatsuhiro Tsujikawa
72e475dfde
2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Avoid to calculate end() iterator in each loop. std::deque is
particularly slow. Make sure that recalculate end iterator if
element is erased during loop.
2010-02-28 16:04:52 +00:00
Tatsuhiro Tsujikawa
c342bde962
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use vector instead of deque for containers which is used for
mostly read-only purpose.
2010-02-28 12:30:11 +00:00
Tatsuhiro Tsujikawa
aee471e52c
2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
User-defined custom request headers specified by --header option
now override builtin headers if they have same name.
* src/HttpRequest.cc
* src/HttpRequest.h
* test/HttpRequestTest.cc
2010-02-20 12:55:23 +00:00
Tatsuhiro Tsujikawa
658442b762
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added --http-no-cache option. When true is given, aria2 sends
Cache-Control: no-cache and Pragma: no-cache header to avoid
cached content. If false is given , these headers are not sent
and you can add Cache-Control header with a directive you like
using --header option.
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/OptionHandlerFactory.cc
* src/download_helper.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
2010-01-10 07:33:20 +00:00
Tatsuhiro Tsujikawa
4db349c1f3
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Untabify. Fixed one line in copyright which is longer than 80
columns.
* src
* test
2010-01-05 16:01:46 +00:00
Tatsuhiro Tsujikawa
e976b23728
2009-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Renamed Util.{cc,h} as util.{cc,h}
* src/Util.cc
* src/Util.h
* src/util.cc
* src/util.h
2009-10-22 15:35:33 +00:00
Tatsuhiro Tsujikawa
c6035b2e24
2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Moved static functions in Util class to namespace util.
* src
* test
2009-10-22 15:09:00 +00:00
Tatsuhiro Tsujikawa
c8d34a46be
2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced Util::slice() with split()
* src/AbstractCommand.cc
* src/CookieParser.cc
* src/File.cc
* src/HttpHeaderProcessor.cc
* src/HttpRequest.cc
* src/Metalink2RequestGroup.cc
* src/MetalinkParserController.cc
* src/Netrc.cc
* src/NsCookieParser.cc
* src/ParameterizedStringParser.cc
* src/ServerStatMan.cc
* src/UriListParser.cc
* src/Util.cc
* src/Util.h
* src/bittorrent_helper.cc
* test/UtilTest.cc
2009-10-18 12:31:07 +00:00
Tatsuhiro Tsujikawa
ce25b54cfe
2009-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added support for IPv6 literal address in URI. Now aria2 can
handle URI such as http://[::1]/
* src/HttpRequest.cc
* src/HttpRequest.h
* src/Request.cc
* src/Request.h
* test/HttpRequestTest.cc
* test/OptionHandlerTest.cc
* test/RequestTest.cc
2009-08-30 15:05:30 +00:00
Tatsuhiro Tsujikawa
682bafae0a
2009-07-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use option of each download to create AuthConfig instead of global
option.
* src/AuthConfigFactory.cc
* src/AuthConfigFactory.h
* src/FtpNegotiationCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpSkipResponseCommand.cc
* src/MultiUrlRequestInfo.cc
* test/AuthConfigFactoryTest.cc
* test/FtpConnectionTest.cc
* test/HttpRequestTest.cc
2009-07-14 12:37:34 +00:00
Tatsuhiro Tsujikawa
cf19dce855
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
HTTP pipelining is now working. Fixed Segmention fault in
BitfieldMan's copy ctor.
* src/AbstractCommand.cc
* src/BitfieldMan.cc
* src/BitfieldMan.h
* src/DownloadCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpRequest.cc
* src/SegmentMan.cc
* src/SegmentMan.h
* test/BitfieldManTest.cc
* test/SegmentManTest.cc
2009-06-30 17:03:57 +00:00
Tatsuhiro Tsujikawa
5699b67526
2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten DownloadContext and removed SingleFileDownloadContext
and BtContext and its derived classes. BitTorrent specific
attributes are now set by DownloadContext::setAttribute() with key
bittorrent::BITTORRENT.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/AbstractProxyRequestCommand.cc
* src/AbstractProxyResponseCommand.cc
* src/ActivePeerConnectionCommand.cc
* src/ActivePeerConnectionCommand.h
* src/AnnounceList.cc
* src/BtCheckIntegrityEntry.cc
* src/BtConstants.h
* src/BtContext.h: Removed
* src/BtDependency.cc
* src/BtExtendedMessage.cc
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtPostDownloadHandler.cc
* src/BtRegistry.cc
* src/BtRegistry.h
* src/BtSetup.cc
* src/CheckIntegrityCommand.cc
* src/CheckIntegrityEntry.cc
* src/ChecksumCheckIntegrityEntry.cc
* src/ConsoleStatCalc.cc
* src/ContentTypeRequestGroupCriteria.cc
* src/DHTGetPeersCommand.cc
* src/DHTGetPeersCommand.h
* src/DHTPeerLookupTask.cc
* src/DHTPeerLookupTask.h
* src/DHTTaskFactory.h
* src/DHTTaskFactoryImpl.cc
* src/DHTTaskFactoryImpl.h
* src/DefaultBtAnnounce.cc
* src/DefaultBtAnnounce.h
* src/DefaultBtContext.cc: Removed
* src/DefaultBtContext.h: Removed
* src/DefaultBtInteractive.cc
* src/DefaultBtInteractive.h
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtMessageDispatcher.h
* src/DefaultBtMessageFactory.cc
* src/DefaultBtMessageFactory.h
* src/DefaultBtMessageReceiver.cc
* src/DefaultBtMessageReceiver.h
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultBtRequestFactory.h
* src/DefaultExtensionMessageFactory.cc
* src/DefaultExtensionMessageFactory.h
* src/DefaultPeerStorage.cc
* src/DefaultPeerStorage.h
* src/DefaultPieceStorage.cc
* src/DefaultSegmentManFactory.cc
* src/DiskAdaptor.cc
* src/DiskAdaptor.h
* src/DownloadContext.cc
* src/DownloadContext.h
* src/DownloadEngine.cc
* src/DownloadEngineFactory.cc
* src/DownloadHandler.cc
* src/DownloadResult.h
* src/FileAllocationCommand.cc
* src/FileAllocationDispatcherCommand.cc
* src/FileAllocationEntry.cc
* src/FileEntry.h
* src/FillRequestGroupCommand.cc
* src/FtpDownloadCommand.cc
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpNegotiationCommand.cc
* src/FtpTunnelRequestCommand.cc
* src/FtpTunnelResponseCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HandshakeExtensionMessage.h
* src/HaveEraseCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpProxyRequestCommand.cc
* src/HttpProxyResponseCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/HttpServerBodyCommand.cc
* src/HttpServerCommand.cc
* src/HttpSkipResponseCommand.cc
* src/InitiateConnectionCommandFactory.cc
* src/InitiatorMSEHandshakeCommand.cc
* src/InitiatorMSEHandshakeCommand.h
* src/IteratableChecksumValidator.cc
* src/IteratableChecksumValidator.h
* src/IteratableChunkChecksumValidator.cc
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/Makefile.am
* src/Makefile.in
* src/Metalink2RequestGroup.cc
* src/MetalinkPostDownloadHandler.cc
* src/MultiDiskAdaptor.cc
* src/MultiDiskAdaptor.h
* src/MultiFileAllocationIterator.cc
* src/MultiUrlRequestInfo.cc
* src/PeerChokeCommand.cc
* src/PeerChokeCommand.h
* src/PeerInitiateConnectionCommand.cc
* src/PeerInitiateConnectionCommand.h
* src/PeerInteractionCommand.cc
* src/PeerInteractionCommand.h
* src/PeerReceiveHandshakeCommand.cc
* src/PieceHashCheckIntegrityEntry.cc
* src/RealtimeCommand.cc
* src/ReceiverMSEHandshakeCommand.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupEntry.cc
* src/RequestGroupMan.cc
* src/SeedCheckCommand.cc
* src/SeedCheckCommand.h
* src/SegmentMan.cc
* src/ShareRatioSeedCriteria.h
* src/SingleFileDownloadContext.cc: Removed
* src/SingleFileDownloadContext.h: Removed
* src/SleepCommand.cc
* src/StreamCheckIntegrityEntry.cc
* src/TrackerWatcherCommand.cc
* src/TrackerWatcherCommand.h
* src/UnknownLengthPieceStorage.cc
* src/Util.cc
* src/Util.h
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/main.cc
* src/option_processing.cc
* test/BitfieldManTest.cc
* test/BittorrentHelperTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtDependencyTest.cc
* test/BtPieceMessageTest.cc
* test/BtPostDownloadHandlerTest.cc
* test/BtRegistryTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/DHTPeerAnnounceStorageTest.cc
* test/DefaultBtAnnounceTest.cc
* test/DefaultBtContextTest.cc: Removed
* test/DefaultBtMessageDispatcherTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/DefaultBtProgressInfoFileTest.cc
* test/DefaultBtRequestFactoryTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/DefaultPeerStorageTest.cc
* test/DefaultPieceStorageTest.cc
* test/DirectDiskAdaptorTest.cc
* test/DownloadContextTest.cc
* test/DownloadHandlerFactoryTest.cc
* test/DownloadHelperTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
* test/IteratableChecksumValidatorTest.cc
* test/IteratableChunkChecksumValidatorTest.cc
* test/MSEHandshakeTest.cc
* test/Makefile.am
* test/Makefile.in
* test/Metalink2RequestGroupTest.cc
* test/MetalinkPostDownloadHandlerTest.cc
* test/MockBtContext.h: Removed
* test/MockDHTTaskFactory.h
* test/MockDownloadContext.h: Removed
* test/MockPieceStorage.h
* test/MultiDiskAdaptorTest.cc
* test/MultiFileAllocationIteratorTest.cc
* test/RequestGroupManTest.cc
* test/RequestGroupTest.cc
* test/SegmentManTest.cc
* test/ShareRatioSeedCriteriaTest.cc
* test/SingleFileDownloadContextTest.cc: Removed
* test/UtilTest.cc
* test/XmlRpcMethodTest.cc
2009-06-28 10:37:15 +00:00
Tatsuhiro Tsujikawa
90471d6805
2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added experimental support of WEB-Seeding for multi-file torrent.
Due to fundamental changes in file handling in HTTP/FTP code, many
functions are not working: PeerStat, ServerHost, proxy..etc
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/BitfieldMan.cc
* src/BitfieldMan.h
* src/CreateRequestCommand.cc
* src/CreateRequestCommand.h
* src/DefaultPieceStorage.cc
* src/DefaultPieceStorage.h
* src/DownloadCommand.cc
* src/DownloadCommand.h
* src/DownloadContext.cc
* src/DownloadContext.h
* src/FileEntry.cc
* src/FileEntry.h
* src/FtpDownloadCommand.cc
* src/FtpDownloadCommand.h
* src/FtpFinishDownloadCommand.cc
* src/FtpFinishDownloadCommand.h
* src/FtpInitiateConnectionCommand.cc
* src/FtpInitiateConnectionCommand.h
* src/FtpNegotiationCommand.cc
* src/FtpNegotiationCommand.h
* src/FtpTunnelResponseCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpDownloadCommand.h
* src/HttpInitiateConnectionCommand.cc
* src/HttpInitiateConnectionCommand.h
* src/HttpProxyResponseCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpRequestCommand.h
* src/HttpResponseCommand.cc
* src/HttpResponseCommand.h
* src/HttpSkipResponseCommand.cc
* src/HttpSkipResponseCommand.h
* src/InitiateConnectionCommand.cc
* src/InitiateConnectionCommand.h
* src/InitiateConnectionCommandFactory.cc
* src/InitiateConnectionCommandFactory.h
* src/Makefile.am
* src/PieceStorage.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/SegmentMan.cc
* src/SegmentMan.h
* src/SingleFileDownloadContext.h
* src/StreamFileAllocationEntry.cc
* src/TrackerWatcherCommand.cc
* src/UnknownLengthPieceStorage.cc
* src/UnknownLengthPieceStorage.h
* src/array_fun.h
* src/bitfield.h
* src/download_helper.cc
* test/DownloadContextTest.cc
* test/Makefile.am
* test/MockDownloadContext.h
2009-06-23 15:35:45 +00:00
Tatsuhiro Tsujikawa
c7275bd978
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Avoid intermediate object during string concatenation.
* src/HttpRequest.cc
2009-06-06 13:34:48 +00:00
Tatsuhiro Tsujikawa
3bb2e3b07e
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Avoid intermediate object during string concatenation. Replaced
post-increment unary operator with pre-increment one in for loop.
* src/AdaptiveURISelector.cc
* src/AnnounceList.cc
* src/AuthConfig.h
* src/BtBitfieldMessage.cc
* src/BtExtendedMessage.cc
* src/BtHandshakeMessage.cc
* src/BtPieceMessage.cc
* src/BtPortMessage.cc
* src/Cookie.cc
* src/DHTAnnouncePeerMessage.cc
* src/DHTAutoSaveCommand.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTNode.cc
* src/DHTQueryMessage.cc
* src/DHTResponseMessage.cc
* src/DHTUnknownMessage.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtContext.cc
* src/DefaultBtInteractive.cc
* src/DefaultBtProgressInfoFile.cc
* src/DefaultPeerStorage.cc
* src/DownloadEngine.cc
* src/FeatureConfig.cc
* src/File.cc
* src/FtpConnection.cc
* src/FtpNegotiationCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HttpConnection.cc
* src/HttpRequest.cc
* src/HttpResponseCommand.cc
* src/HttpServer.cc
* src/IndexBtMessage.cc
* src/Metalink2RequestGroup.cc
* src/OptionHandlerImpl.h
* src/PStringBuildVisitor.cc
* src/Peer.cc
* src/PeerListenCommand.cc
* src/Piece.cc
* src/RangeBtMessage.cc
* src/Request.cc
* src/Request.h
* src/RequestGroup.cc
* src/RequestGroupMan.cc
* src/ServerStat.cc
* src/ServerStatMan.cc
* src/UTPexExtensionMessage.cc
* src/Util.cc
* src/a2functional.h
* src/download_helper.cc
* src/messageDigest.cc
2009-06-06 12:33:07 +00:00
Tatsuhiro Tsujikawa
8b6da1ee36
2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Implemented getter methods in header files to give them more
chance of optimization.
Return const reference for SharadHandle if possible.
* src/AbstractAuthResolver.cc
* src/AbstractAuthResolver.h
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/AbstractSingleDiskAdaptor.cc
* src/AbstractSingleDiskAdaptor.h
* src/AsyncNameResolver.cc
* src/AsyncNameResolver.h
* src/BNode.cc
* src/BNode.h
* src/BitfieldMan.cc
* src/BitfieldMan.h
* src/BtAbortOutstandingRequestEvent.h
* src/BtExtendedMessage.cc
* src/BtExtendedMessage.h
* src/BtSeederStateChoke.cc
* src/BtSeederStateChoke.h
* src/Cookie.cc
* src/Cookie.h
* src/DHTBucket.cc
* src/DHTBucket.h
* src/DHTConnectionImpl.cc
* src/DHTConnectionImpl.h
* src/DHTFindNodeReplyMessage.cc
* src/DHTFindNodeReplyMessage.h
* src/DHTGetPeersReplyMessage.cc
* src/DHTGetPeersReplyMessage.h
* src/DHTInteractionCommand.cc
* src/DHTMessage.cc
* src/DHTMessage.h
* src/DHTMessageDispatcherImpl.cc
* src/DHTMessageEntry.cc
* src/DHTMessageReceiver.cc
* src/DHTMessageReceiver.h
* src/DHTMessageTrackerEntry.cc
* src/DHTMessageTrackerEntry.h
* src/DHTPeerAnnounceEntry.cc
* src/DHTPeerAnnounceEntry.h
* src/DHTPeerLookupTask.cc
* src/DHTPeerLookupTask.h
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableDeserializer.h
* src/DefaultBtAnnounce.cc
* src/DefaultBtAnnounce.h
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtMessageDispatcher.h
* src/DefaultBtRequestFactory.cc
* src/DefaultBtRequestFactory.h
* src/DiskAdaptor.cc
* src/DiskAdaptor.h
* src/DownloadContext.cc
* src/DownloadContext.h
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/EpollEventPoll.cc
* src/EpollEventPoll.h
* src/FtpConnection.cc
* src/FtpConnection.h
* src/HttpConnection.cc
* src/HttpConnection.h
* src/HttpHeader.cc
* src/HttpHeader.h
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpResponse.cc
* src/HttpResponse.h
* src/LibsslTLSContext.cc
* src/LibsslTLSContext.h
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/MetalinkEntry.cc
* src/MetalinkEntry.h
* src/MetalinkParserController.cc
* src/MetalinkParserController.h
* src/MetalinkParserStateMachine.cc
* src/MetalinkParserStateMachine.h
* src/MultiDiskAdaptor.cc
* src/MultiDiskAdaptor.h
* src/NetrcAuthResolver.cc
* src/NetrcAuthResolver.h
* src/Peer.cc
* src/Peer.h
* src/PeerSessionResource.cc
* src/PeerSessionResource.h
* src/Piece.cc
* src/Piece.h
* src/PieceStatMan.cc
* src/PieceStatMan.h
* src/Request.cc
* src/Request.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* src/RequestSlot.cc
* src/RequestSlot.h
* src/SegmentMan.cc
* src/SegmentMan.h
* src/SelectEventPoll.cc
* src/SelectEventPoll.h
* src/ServerStat.cc
* src/ServerStat.h
* src/Signature.cc
* src/Signature.h
* src/URIResult.cc
* src/URIResult.h
* src/UTPexExtensionMessage.cc
* src/UTPexExtensionMessage.h
2009-05-29 12:12:22 +00:00
Tatsuhiro Tsujikawa
e5c4b24454
2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Send HTTP Authorization header only if it is requested by the
server(response 401). There are some exceptions. The
authorization header for proxy is always sent if it is available
without request by the server. If username/password is specified
in the URI, it is immediately sent to the server without
request by the server.
AbstractAuthResolver::_defaultAuthConfig is now initialized as
SharedHandle<AuthConfig>().
NetrcAuthResolver::resolveAuthConfig() returns
SharedHandle<AuthConfig>() if no AuthConfig is available.
* src/AbstractAuthResolver.cc
* src/AbstractProxyRequestCommand.cc
* src/AuthConfigFactory.cc
* src/AuthConfigFactory.h
* src/HttpConnection.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpResponse.cc
* src/HttpResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* test/AuthConfigFactoryTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
2009-01-30 16:12:41 +00:00
Tatsuhiro Tsujikawa
62105714ef
2008-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use HEAD method to get file size from HTTP server for segmented
downloading.
The request to the BitTorrent Tracker always uses GET method
because the response of the tracker is small and it doesn't need
segmented download.
* src/FtpNegotiationCommand.cc
* src/HttpRequest.cc
* src/HttpResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/TrackerWatcherCommand.cc
* test/HttpRequestTest.cc
2008-11-23 15:00:44 +00:00
Tatsuhiro Tsujikawa
93a49e4840
2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Added the ability to pool proxy connection.
The conneciton in FTP with proxy-method=GET is not pooled.
Proxy-Connection header will not be sent when sending CONNECT
method.
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpNegotiationCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpResponse.cc
* src/HttpSkipResponseCommand.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
2008-11-05 12:30:22 +00:00
Tatsuhiro Tsujikawa
c7fb678e6e
2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Deprecated --http-proxy-user and --http-proxy-passwd options.
Added --https-proxy, --ftp-proxy and --all-proxy options.
Above 3 options and --http-proxy option can handle proxy in URL
format like: http://user:passwd@host:port .
If a proxy requires user/password, they must be specified in a
URL.
Deprecated --ftp-via-http-proxy option. Use --http-proxy-method
option instead.
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/AbstractProxyRequestCommand.cc
* src/AbstractProxyRequestCommand.h
* src/AuthConfigFactory.cc
* src/AuthConfigFactory.h
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpInitiateConnectionCommand.h
* src/FtpNegotiationCommand.cc
* src/FtpTunnelRequestCommand.cc
* src/FtpTunnelRequestCommand.h
* src/HttpDownloadCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpInitiateConnectionCommand.h
* src/HttpProxyRequestCommand.cc
* src/HttpProxyRequestCommand.h
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpRequestCommand.h
* src/HttpSkipResponseCommand.cc
* src/InitiateConnectionCommand.cc
* src/InitiateConnectionCommand.h
* src/OptionHandlerFactory.cc
* src/OptionHandlerImpl.h
* src/Request.cc
* src/option_processing.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* test/AuthConfigFactoryTest.cc
* test/HttpRequestTest.cc
* test/OptionHandlerTest.cc
2008-11-04 14:08:26 +00:00
Tatsuhiro Tsujikawa
8fab0ff216
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
AuthConfigFactory is now part of DownloadEngine.
* src/AbstractProxyRequestCommand.cc
* src/AuthConfigFactory.h
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/FtpConnection.cc
* src/FtpConnection.h
* src/FtpNegotiationCommand.cc
* src/HttpConnection.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponse.cc
* src/HttpResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* src/MultiUrlRequestInfo.cc
* src/main.cc
* test/FtpConnectionTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
2008-11-03 10:06:25 +00:00
Tatsuhiro Tsujikawa
87a5bb50c2
2008-09-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Reverted previous change.
Insert username+'@' to URI(after ftp://) when URI is FTP scheme
and
username is not in URI.
* src/HttpRequest.cc
* src/Request.cc
* test/HttpRequestTest.cc
* test/RequestTest.cc
2008-09-25 16:06:29 +00:00
Tatsuhiro Tsujikawa
92d702fa53
2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Use netrc for HTTP.
Now FTP user/password is sent in Authorization header when
--ftp-via-http-proxy=get is given.
* src/AuthConfigFactory.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/NetrcAuthResolver.cc
* src/NetrcAuthResolver.h
* src/OptionHandlerFactory.cc
* src/option_processing.cc
* src/prefs.cc
* src/prefs.h
* test/AuthConfigFactoryTest.cc
* test/HttpRequestTest.cc
* test/NetrcAuthResolverTest.cc
2008-09-25 14:37:28 +00:00
Tatsuhiro Tsujikawa
398d53f5f5
2008-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Use CookieStorage class instead of CookieBox class.
Now CookieStorage accepts cookies from numeric host such as
192.168.1.1.
* src/AbstractProxyRequestCommand.cc
* src/CookieStorage.cc
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/HttpConnection.cc
* src/HttpConnection.h
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponse.cc
* src/HttpResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* src/Makefile.am
* src/MultiUrlRequestInfo.cc
* src/Request.cc
* src/Request.h
* src/main.cc
* test/AllTest.cc
* test/CookieStorageTest.cc
* test/CookieTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
* test/Makefile.am
* test/NsCookieParserTest.cc
* test/Sqlite3MozCookieParserTest.cc
* test/nscookietest.txt
2008-09-01 13:46:03 +00:00
Tatsuhiro Tsujikawa
d791807add
2008-06-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Added gzip, deflate decoding support in HTTP using libz. If
compiled
with this feature, aria2 sends "Accept-Encoding: deflate, gzip"
header
to a HTTP server. If a server returns "Content-Encoding: gzip"
or
"Content-Encoding: deflate" then, aria2 decodes the response
body on the
fly and writes decoded data to a local disk.
* README
* README.html
* configure.ac
* m4/aria2_arg.m4: Added ARIA2_ARG_WITH and ARIA2_ARG_ENABLE,
they are
wrapper function for AC_ARG_WITH and AC_ARG_ENABLE respectively.
* m4/libz.m4
* src/Decoder.h
* src/DownloadCommand.cc
* src/DownloadCommand.h
* src/Exception.h
* src/GZipDecoder.cc
* src/GZipDecoder.h
* src/HttpHeader.cc
* src/HttpHeader.h
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpResponse.cc
* src/HttpResponse.h
* src/HttpResponseCommand.cc
* src/Makefile.am
* test/GZipDecoderTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
* test/Makefile.am
* test/Makefile.in
* test/gzip_decode_test.gz
2008-06-29 14:29:36 +00:00
Tatsuhiro Tsujikawa
f4ac2c2185
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Returns const reference. The internal urlencode function was
optimized
a little bit.
* src/Request.cc
* src/Request.h
* src/HttpRequest.cc
* src/HttpRequest.h
2008-05-19 11:19:18 +00:00
Tatsuhiro Tsujikawa
a0f8685de3
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Use Option::getAsBool(...) instead of Option::get(...) and
compare
it with V_TRUE.
* src/DefaultPieceStorage.cc
* src/DownloadCommand.cc
* src/FtpNegotiationCommand.cc
* src/HttpRequest.cc
* src/InitiateConnectionCommand.cc
* src/RequestGroup.cc
2008-05-18 10:25:41 +00:00
Tatsuhiro Tsujikawa
29d5651cd5
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Made USER_AGENT const. Made "/" static const std::string.
* src/A2STR.cc
* src/A2STR.h
* src/HttpRequest.cc
* src/HttpRequest.h
2008-05-13 16:58:40 +00:00
Tatsuhiro Tsujikawa
386d19693b
2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Replaced "" with static const variable A2STR::NIL.
Replaced string comparison against "" with std::string::empty().
Added PROTO_* to Request class and use them as a protocol string
constant.
Made "started", "stopped", "completed" static const variable in
AnnounceList class.
2008-05-13 14:15:23 +00:00
Tatsuhiro Tsujikawa
1f931b33bd
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Rewritten accept types handling.
* HttpRequest.cc (createRequest)
2008-05-11 13:07:26 +00:00
Tatsuhiro Tsujikawa
f596de9eec
2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
...
Reimplemented transparent metalink using Accept request header.
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/Metalink2RequestGroup.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* test/HttpRequestTest.cc
2008-05-05 08:25:41 +00:00