Browse Source

Updated doc.

Tatsuhiro Tsujikawa 15 years ago
parent
commit
5856d9252b
2 changed files with 16 additions and 0 deletions
  1. 6 0
      src/HttpRequestCommand.h
  2. 10 0
      src/HttpResponseCommand.h

+ 6 - 0
src/HttpRequestCommand.h

@@ -42,6 +42,12 @@ namespace aria2 {
 class HttpConnection;
 class SocketCore;
 
+// HttpRequestCommand sends HTTP request header to remote server.
+// Because network I/O is non-blocking, execute() returns false if all
+// headers have not been sent. Subsequent calls of execute() send
+// remaining header and when all headers are completely sent,
+// execute() creates next Command object, HttpResponseCommand, and
+// returns true.
 class HttpRequestCommand:public AbstractCommand {
 private:
   SharedHandle<Request> proxyRequest_;

+ 10 - 0
src/HttpResponseCommand.h

@@ -46,6 +46,16 @@ class HttpResponse;
 class SocketCore;
 class StreamFilter;
 
+// HttpResponseCommand receives HTTP response header from remote
+// server.  Because network I/O is non-blocking, execute() returns
+// false when all response headers are not received.  Subsequent calls
+// of execute() receives remaining response headers and when all
+// headers are received, it examines headers.  If status code is 200
+// or 206 and Range header satisfies requested range, it creates
+// HttpDownloadCommand to receive response entity body.  Otherwise, it
+// creates HttpSkipResponseCommand to receive response entity body and
+// returns true. Handling errors such as 404 or redirect is handled in
+// HttpSkipResponseCommand.
 class HttpResponseCommand : public AbstractCommand {
 private:
   SharedHandle<HttpConnection> httpConnection_;