Config.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
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.
7  */
8 
9 #include "squid.h"
10 #include "adaptation/icap/Config.h"
12 #include "ConfigParser.h"
13 #include "HttpReply.h"
14 #include "HttpRequest.h"
15 #include "SquidConfig.h"
16 #include "Store.h"
17 #include "wordlist.h"
18 
20 
22  default_options_ttl(0),
23  preview_enable(0), preview_size(0), allow206_enable(0),
24  connect_timeout_raw(0), io_timeout_raw(0), reuse_connections(0),
25  client_username_header(nullptr), client_username_encode(0), repeat(nullptr),
26  repeat_limit(0)
27 {
28 }
29 
31 {
32  // no need to free client_username_header, it's done in cf_parser.cci:free_all
33 }
34 
37 {
38  return new Adaptation::Icap::ServiceRep(cfg);
39 }
40 
41 time_t Adaptation::Icap::Config::connect_timeout(bool bypassable) const
42 {
43  if (connect_timeout_raw > 0)
44  return connect_timeout_raw; // explicitly configured
45 
46  return bypassable ? ::Config.Timeout.peer_connect : ::Config.Timeout.connect;
47 }
48 
50 {
51  if (io_timeout_raw > 0)
52  return io_timeout_raw; // explicitly configured
53  // TODO: provide a different default for an ICAP transaction that
54  // can still be bypassed
56 }
57 
Config TheConfig
Definition: Config.cc:19
time_t connect_timeout(bool bypassable) const
Definition: Config.cc:41
time_t read
Definition: SquidConfig.h:112
~Config() override
Definition: Config.cc:30
Adaptation::ServicePointer createService(const ServiceConfigPointer &cfg) override
Definition: Config.cc:36
time_t io_timeout(bool bypassable) const
Definition: Config.cc:49
struct SquidConfig::@84 Timeout
class SquidConfig Config
Definition: SquidConfig.cc:12

 

Introduction

Documentation

Support

Miscellaneous