ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilHttpSetupConfig.php
Go to the documentation of this file.
1 <?php
2 
3 use ILIAS\Setup;
4 
5 /******************************************************************************
6  *
7  * This file is part of ILIAS, a powerful learning management system.
8  *
9  * ILIAS is licensed with the GPL-3.0, you should have received a copy
10  * of said license along with the source code.
11  *
12  * If this is not the case or you just want to try ILIAS, you'll find
13  * us at:
14  * https://www.ilias.de
15  * https://github.com/ILIAS-eLearning
16  *
17  *****************************************************************************/
18 class ilHttpSetupConfig implements Setup\Config
19 {
20  protected string $http_path;
21  protected bool $forced = false;
22  protected bool $autodetection_enabled;
23  protected ?string $header_name;
24  protected ?string $header_value;
25  protected bool $proxy_enabled;
26  protected ?string $proxy_host;
27  protected ?string $proxy_port;
28 
29 
30  public function __construct(
31  string $http_path,
32  bool $autodetection_enabled,
33  bool $forced,
34  ?string $header_name,
35  ?string $header_value,
36  bool $proxy_enabled,
37  ?string $proxy_host,
38  ?string $proxy_port
39  ) {
40  if ($autodetection_enabled && (!$header_name || !$header_value)) {
41  throw new \InvalidArgumentException(
42  "Expected header name and value for https autodetection if that feature is enabled."
43  );
44  }
45  if ($proxy_enabled && (!$proxy_host || !$proxy_port)) {
46  throw new \InvalidArgumentException(
47  "Expected setting for proxy host and port if proxy is enabled."
48  );
49  }
50  $this->http_path = $http_path;
51  $this->autodetection_enabled = $autodetection_enabled;
52  $this->forced = $forced;
53  $this->header_name = $header_name;
54  $this->header_value = $header_value;
55  $this->proxy_enabled = $proxy_enabled;
56  $this->proxy_host = $proxy_host;
57  $this->proxy_port = $proxy_port;
58  }
59 
60 
61  public function isForced(): bool
62  {
63  return $this->forced;
64  }
65 
66  public function getHttpPath(): string
67  {
68  return $this->http_path;
69  }
70 
71  public function isAutodetectionEnabled(): bool
72  {
74  }
75 
76  public function getHeaderName(): ?string
77  {
78  return $this->header_name;
79  }
80 
81  public function getHeaderValue(): ?string
82  {
83  return $this->header_value;
84  }
85 
86  public function isProxyEnabled(): bool
87  {
88  return $this->proxy_enabled;
89  }
90 
91  public function getProxyHost(): ?string
92  {
93  return $this->proxy_host;
94  }
95 
96  public function getProxyPort(): ?string
97  {
98  return $this->proxy_port;
99  }
100 }
__construct(string $http_path, bool $autodetection_enabled, bool $forced, ?string $header_name, ?string $header_value, bool $proxy_enabled, ?string $proxy_host, ?string $proxy_port)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...