diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-05-25 15:57:54 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-05-25 15:57:54 +0200 |
commit | 60e94c8de0d794d778b8d1164950c1d2f7ced4bf (patch) | |
tree | f7e3002ffb6e4695709fa2dbec756d211f5958f7 /methods/http.h | |
parent | ff371080d8672b94ef289f1162704e74959b4ddf (diff) | |
parent | 7273e49443e480d57bd8455f9cf9a0f39ef181f4 (diff) |
* methods/http.{cc,h}:
- code cleanup, use enums instead of magic ints
Diffstat (limited to 'methods/http.h')
-rw-r--r-- | methods/http.h | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/methods/http.h b/methods/http.h index ceee36cbe..af0f5e033 100644 --- a/methods/http.h +++ b/methods/http.h @@ -117,7 +117,19 @@ struct ServerState void Reset() {Major = 0; Minor = 0; Result = 0; Size = 0; StartPos = 0; Encoding = Closes; time(&Date); ServerFd = -1; Pipeline = true;}; - int RunHeaders(); + + /** \brief Result of the header acquire */ + enum RunHeadersResult { + /** \brief Header ok */ + RUN_HEADERS_OK, + /** \brief IO error while retrieving */ + RUN_HEADERS_IO_ERROR, + /** \brief Parse error after retrieving */ + RUN_HEADERS_PARSE_ERROR, + }; + /** \brief Get the headers before the data */ + RunHeadersResult RunHeaders(); + /** \brief Transfer the data from the socket */ bool RunData(); bool Open(); @@ -133,7 +145,26 @@ class HttpMethod : public pkgAcqMethod bool Go(bool ToFile,ServerState *Srv); bool Flush(ServerState *Srv); bool ServerDie(ServerState *Srv); - int DealWithHeaders(FetchResult &Res,ServerState *Srv); + + /** \brief Result of the header parsing */ + enum DealWithHeadersResult { + /** \brief The file is open and ready */ + FILE_IS_OPEN, + /** \brief We got a IMS hit, the file has not changed */ + IMS_HIT, + /** \brief The server reported a unrecoverable error */ + ERROR_UNRECOVERABLE, + /** \brief The server reported a error with a error content page */ + ERROR_WITH_CONTENT_PAGE, + /** \brief A error on the client side */ + ERROR_NOT_FROM_SERVER, + /** \brief A redirect or retry request */ + TRY_AGAIN_OR_REDIRECT + }; + /** \brief Handle the retrieved header data */ + DealWithHeadersResult DealWithHeaders(FetchResult &Res,ServerState *Srv); + + /** \brief Try to AutoDetect the proxy */ bool AutoDetectProxy(); virtual bool Fetch(FetchItem *); @@ -147,7 +178,7 @@ class HttpMethod : public pkgAcqMethod string NextURI; string AutoDetectProxyCmd; - + public: friend class ServerState; |