+/*
+ * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
#ifndef SQUID_SRC_HTTP_FORWARD_H
#define SQUID_SRC_HTTP_FORWARD_H
-#include "base/RefCount.h"
+#include "http/one/forward.h"
-// TODO move these classes into Http namespace
-class HttpRequestMethod;
-typedef RefCount<HttpRequestMethod> HttpRequestMethodPointer;
+#define HTTP_REQBUF_SZ 4096
-class HttpRequest;
-typedef RefCount<HttpRequest> HttpRequestPointer;
+namespace Http
+{
-class HttpReply;
-typedef RefCount<HttpReply> HttpReplyPointer;
+class ContentLengthInterpreter;
-namespace Http {
+class Message;
+typedef RefCount<Http::Message> MessagePointer;
-namespace One {
-class RequestParser;
-typedef RefCount<Http::One::RequestParser> RequestParserPointer;
-} // namespace One
+class Stream;
+typedef RefCount<Http::Stream> StreamPointer;
} // namespace Http
-namespace Http1 = Http::One;
+// TODO move these into Http namespace
+
+typedef enum {
+ SC_NO_STORE,
+ SC_NO_STORE_REMOTE,
+ SC_MAX_AGE,
+ SC_CONTENT,
+ SC_OTHER,
+ SC_ENUM_END /* also used to mean "invalid" */
+} http_hdr_sc_type;
+
+class HttpHdrSc;
+
+class HttpRequestMethod;
+
+class HttpRequest;
+typedef RefCount<HttpRequest> HttpRequestPointer;
+
+class HttpReply;
+typedef RefCount<HttpReply> HttpReplyPointer;
#endif /* SQUID_SRC_HTTP_FORWARD_H */
+