summaryrefslogtreecommitdiff
path: root/src/HttpResponseCommand.cc
Commit message (Collapse)AuthorAgeFilesLines
* make clang-format using clang-format-3.6Tatsuhiro Tsujikawa2015-12-271-87/+82
|
* Remove content-length and content-range if transfer-encoding is givenTatsuhiro Tsujikawa2015-11-041-1/+2
| | | | See GH-473
* Replace timer facility with chrono libTatsuhiro Tsujikawa2015-06-091-1/+2
|
* Fixed some typos in code commentsDan Fandrich2015-01-161-1/+1
|
* Fixed segfault unsupported encodingsdiadistis2014-07-201-3/+4
|
* Support PREF_DIR change for Metalink filesTatsuhiro Tsujikawa2014-06-041-2/+5
| | | | | Reworked previous commit adeead6f0396e2f8551d1182972e277728fd6c8b, and now support changing PREF_DIR for Metalink downloads.
* Revert to existing "proper" coding styleTatsuhiro Tsujikawa2014-06-031-64/+63
| | | | | The rule is simple: don't try to change the coding style of the existing codebase.
* Remove ENABLE_MESSAGE_DIGEST, since we got the internal md, alwaysNils Maier2014-04-171-16/+4
|
* Treat 30X response without Location header field as errorTatsuhiro Tsujikawa2014-02-051-5/+4
| | | | This is required to make segmented download work.
* Better handling of 30X HTTP status codesTatsuhiro Tsujikawa2014-02-051-4/+5
| | | | Reference: http://greenbytes.de/tech/tc/httpredirects/
* Don't fail multiple concurrent dl same file if auto-file-renaming is enabledTatsuhiro Tsujikawa2013-11-081-6/+2
|
* Fix typoTatsuhiro Tsujikawa2013-11-061-1/+1
|
* Code cleanup in Http*Nils Maier2013-09-201-198/+212
|
* Convert to autos and ranged loopsNils Maier2013-08-211-13/+11
|
* Use nullptr for std::shared_ptr and unique_ptr default parameterTatsuhiro Tsujikawa2013-08-191-2/+2
|
* Use std::unique_ptr for CheckIntegrityEntry and FileAllocationEntryTatsuhiro Tsujikawa2013-07-061-6/+6
|
* Use std::unique_ptr for StreamFilter instead of std::shared_ptrTatsuhiro Tsujikawa2013-07-041-31/+27
|
* Use std::unique_ptr for HttpRequest instead of std::shared_ptrTatsuhiro Tsujikawa2013-07-041-1/+0
|
* Use std::unique_ptr for HttpResponse instead of std::shared_ptrTatsuhiro Tsujikawa2013-07-031-47/+35
|
* Refactor HttpConnection and its neighbor objectsTatsuhiro Tsujikawa2013-06-261-1/+1
|
* Wrap Command object in std::unique_ptrTatsuhiro Tsujikawa2013-06-231-19/+16
|
* Require -std=c++11 and use std::shared_ptr instead of SharedHandleTatsuhiro Tsujikawa2013-06-221-34/+34
|
* Use 64 bits random bytes as GIDTatsuhiro Tsujikawa2012-12-161-2/+2
| | | | | | | | | | This change replaces the current 64 bit sequential GID with 64 bits random bytes GID in an attempt to support persistent GID. Internally, the GID is stored as uint64_t. For human representation and RPC interface, GID is represented as 16 bytes hex string. For console readout, 16 bytes are too long, so it is abbreviated to first 6 bytes. When querying GID in RPC calls, user can speicfy the prefix of GID as long as the prefix is shared by more than 1 GID entries.
* Use uri_split instead of uri::parse where appropriateTatsuhiro Tsujikawa2012-10-141-3/+5
|
* Removed trailing spacesTatsuhiro Tsujikawa2012-10-011-1/+1
|
* Removed *Handle typedefTatsuhiro Tsujikawa2012-09-281-3/+3
|
* Rewritten DownloadHandlerConstantsTatsuhiro Tsujikawa2012-09-221-3/+3
| | | | | | | | | | DownloadHandlerConstants was simplified. MIME type handling in Accept header was also reworked. DownloadContext's metalinkServerContacted_ is replaced with acceptMetalink_ and its boolean value is reverted. RequestGroup and HttpRequest now do not hold vector of accepting types. HttpRequest has the flag acceptMetalink_ which will be set by the same value of DownloadContext::accpetMetalink_ and if it is true, Metalink MIME types are added to Accept header field.
* Use int64_t instead of off_tTatsuhiro Tsujikawa2012-06-251-2/+2
| | | | | Some classes such as DiskAdaptor, DiskWriter, FileAllocationIterator and ChecksumValidator are left unchanged.
* aria2 now doesn't assume download's completed just because file size matchedTatsuhiro Tsujikawa2012-01-081-13/+39
| | | | | | | | The only exception is zero-length file. If server tells file is zero-length and --checksum option is given, aria2 now correctly checks its checksum. There is one known issue: If downloaded file is zero-length file and .aria2 file exists, it will not be deleted on successful verification, because .aria2 file is not loaded.
* Replaced uint64_t with off_t or int64_t.Tatsuhiro Tsujikawa2011-12-091-2/+2
| | | | | Since off_t is int64_t with LFS, we cannot take advantage of extra capacity of uint64_t.
* Use %lld to fomat a2_gid_tTatsuhiro Tsujikawa2011-12-021-2/+2
|
* Removed utf8ToNative from log message and exception message.Tatsuhiro Tsujikawa2011-08-081-3/+3
|
* In MinGW32, open file with UNICODE filename and print them in ANSI.Tatsuhiro Tsujikawa2011-08-041-7/+9
|
* Consistent naming scheme for hash type and digest for DownloadContext.Tatsuhiro Tsujikawa2011-07-271-6/+5
|
* Consistent naming scheme for hash type and digest.Tatsuhiro Tsujikawa2011-07-271-6/+6
|
* Implemented Metalink/HTTP in HTTP download.Tatsuhiro Tsujikawa2011-07-271-0/+70
| | | | | | | | | | Link header fields from first Metalink server is utilized as described in rfc6249. We only set digest from Digest header field to DownloadContext only when PieceStorage is not initialized(in other words, before file size is known). After PieceStorage is initialized, Digest header field is used to check the value is the same in digest in DownloadContext. Current implementation only handles rel=duplicate.
* Remove Metalink content-type after first server response.Tatsuhiro Tsujikawa2011-07-251-0/+1
| | | | We don't accept Metalink content-type after first server response.
* Replaced HAVE_LIBZ with HAVE_ZLIBTatsuhiro Tsujikawa2011-02-181-4/+4
|
* Accept HTTP 304 reply as success when If-None-Match request-headerTatsuhiro Tsujikawa2011-01-291-19/+15
| | | | | | | field is specified using --header option. When --conditional-get is used, --allow-overwrite is now required to overwrite existing file.
* Handle the situation when remote server returns Connection: closeTatsuhiro Tsujikawa2011-01-161-0/+2
| | | | | | | | after several pipelined requests. We call Request::setMaxPipelinedRequest(1) if Connection: close is received. Also call Request::supportsPersistentConnection(true) and Request::setMaxPipelinedRequest(1) when closing the connection.
* Eliminated SocketCore::peekData() form HTTP/FTP downloads.Tatsuhiro Tsujikawa2011-01-161-2/+6
| | | | | | | | | | We introduced SocketRecvBuffer which buffers received bytes. Since HTTP response header and response body are divided with \r\n, we have to buffer up several bytes to find this delimiter. We use SocketRecvBuffer to hold these bytes and only consumes header and passes SocketRecvBuffer, which may contain head of response body, to next Command. Since FTPConnection doesn't use SocketCore::peekData(), we left it as is.
* Removed DownloadContext::dir_. Use PREF_DIR value instead.Tatsuhiro Tsujikawa2010-12-031-1/+1
|
* Added additional error_code::Values(9 through 14).Tatsuhiro Tsujikawa2010-11-281-2/+3
|
* 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-201-5/+4
| | | | | | Replaced StringFormat with fmt
* 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-201-13/+14
| | | | | | | Rewritten Logger interface. Logger now writes source file name and line number in log file.
* 2010-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-151-6/+5
| | | | | | | | | | | | | | | | | | | | | | Replaced HttpHeader::responseStatus_ with HttpHeader::statusCode_. statusCode_ is of type int. * src/AbstractProxyResponseCommand.cc * src/FtpNegotiationCommand.cc * src/HttpHeader.cc * src/HttpHeader.h * src/HttpHeaderProcessor.cc * src/HttpResponse.cc * src/HttpResponse.h * src/HttpResponseCommand.cc * src/HttpSkipResponseCommand.cc * src/util.cc * src/util.h * test/HttpHeaderProcessorTest.cc * test/HttpHeaderTest.cc * test/HttpResponseTest.cc * test/UtilTest.cc
* 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-141-2/+0
| | | | | | | | | 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-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-121-10/+10
| | | | | | | | Removed SharedHandle::isNull(). Instead we added operator* and operator unspecified_bool_type. Removed use of WeakHandle and replaced with raw pointer.
* 2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-111-5/+4
| | | | | | | | | | | | | | Create SharedHandle outside of function call to avoid unexpected memory leak. * src/AnnounceList.cc * src/FtpNegotiationCommand.cc * src/HttpResponseCommand.cc * src/RequestGroup.cc * src/RequestGroupMan.cc * src/UTMetadataPostDownloadHandler.cc * src/download_helper.cc
* 2010-10-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-10-301-50/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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