]> git.ipfire.org Git - thirdparty/squid.git/blame - src/adaptation/icap/Config.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / adaptation / icap / Config.h
CommitLineData
774c051c 1/*
b8ae064d 2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
774c051c 3 *
bbc27441
AJ
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
774c051c 7 */
8
9#ifndef SQUID_ICAPCONFIG_H
10#define SQUID_ICAPCONFIG_H
11
6f58d7d7 12#include "acl/forward.h"
64bdef96 13#include "adaptation/Config.h"
26cc52cb 14#include "adaptation/icap/ServiceRep.h"
602d9612
A
15#include "base/AsyncCall.h"
16#include "event.h"
26cc52cb 17
af6a12ee
AJ
18namespace Adaptation
19{
e1381638
AJ
20namespace Icap
21{
774c051c 22
a385afc3 23class ConfigParser;
24
26cc52cb 25class Config: public Adaptation::Config
774c051c 26{
27
28public:
64bdef96 29 int default_options_ttl;
774c051c 30 int preview_enable;
31 int preview_size;
83c51da9 32 int allow206_enable;
ec1245f8 33 time_t connect_timeout_raw;
34 time_t io_timeout_raw;
12b91c99 35 int reuse_connections;
5f8252d2 36 char* client_username_header;
37 int client_username_encode;
3ff65596
AR
38 acl_access *repeat; ///< icap_retry ACL in squid.conf
39 int repeat_limit; ///< icap_retry_limit in squid.conf
774c051c 40
26cc52cb 41 Config();
337b9aa4 42 ~Config() override;
774c051c 43
ec1245f8 44 time_t connect_timeout(bool bypassable) const;
45 time_t io_timeout(bool bypassable) const;
46
ee6f6484 47private:
26cc52cb
AR
48 Config(const Config &); // not implemented
49 Config &operator =(const Config &); // not implemented
64bdef96 50
337b9aa4 51 Adaptation::ServicePointer createService(const ServiceConfigPointer &cfg) override;
774c051c 52};
53
26cc52cb
AR
54extern Config TheConfig;
55
26cc52cb
AR
56} // namespace Icap
57} // namespace Adaptation
5f8252d2 58
774c051c 59#endif /* SQUID_ICAPCONFIG_H */
f53969cc 60