/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * 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.
#ifndef SQUID_CLIENTS_FORWARD_H
#define SQUID_CLIENTS_FORWARD_H
+#include "sbuf/forward.h"
+
class FwdState;
class HttpRequest;
template <class Cbc> class CbcPointer;
typedef CbcPointer<AsyncJob> AsyncJobPointer;
+namespace Http
+{
+class Tunneler;
+class TunnelerAnswer;
+}
+
namespace Ftp
{
/// A new FTP Gateway job
-AsyncJobPointer StartGateway(FwdState *const fwdState);
+void StartGateway(FwdState *const fwdState);
/// A new FTP Relay job
-AsyncJobPointer StartRelay(FwdState *const fwdState);
+void StartRelay(FwdState *const fwdState);
/** Construct an URI with leading / in PATH portion for use by CWD command
* possibly others. FTP encodes absolute paths as beginning with '/'
* We use standard URI-encoding on the second / making it
* ftp:host:port/%2froot/path AKA 'the FTP %2f hack'.
*
- * \todo Should be a URL class API call.
+ * TODO: Should be an AnyP::Uri member
*/
-const char *UrlWith2f(HttpRequest *);
+const SBuf &UrlWith2f(HttpRequest *);
} // namespace Ftp