summaryrefslogtreecommitdiff
path: root/methods/http.h
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2010-05-25 15:57:54 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2010-05-25 15:57:54 +0200
commit60e94c8de0d794d778b8d1164950c1d2f7ced4bf (patch)
treef7e3002ffb6e4695709fa2dbec756d211f5958f7 /methods/http.h
parentff371080d8672b94ef289f1162704e74959b4ddf (diff)
parent7273e49443e480d57bd8455f9cf9a0f39ef181f4 (diff)
* methods/http.{cc,h}:
- code cleanup, use enums instead of magic ints
Diffstat (limited to 'methods/http.h')
-rw-r--r--methods/http.h37
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;