Open Journal Systems  3.3.0
AbstractMessage.php
1 <?php
2 
4 
11 
15 abstract class AbstractMessage implements MessageInterface
16 {
18  protected $headers;
19 
21  protected $headerFactory;
22 
24  protected $params;
25 
27  protected $protocol = 'HTTP';
28 
30  protected $protocolVersion = '1.1';
31 
32  public function __construct()
33  {
34  $this->params = new Collection();
35  $this->headerFactory = new HeaderFactory();
36  $this->headers = new HeaderCollection();
37  }
38 
46  public function setHeaderFactory(HeaderFactoryInterface $factory)
47  {
48  $this->headerFactory = $factory;
49 
50  return $this;
51  }
52 
53  public function getParams()
54  {
55  return $this->params;
56  }
57 
58  public function addHeader($header, $value)
59  {
60  if (isset($this->headers[$header])) {
61  $this->headers[$header]->add($value);
62  } elseif ($value instanceof HeaderInterface) {
63  $this->headers[$header] = $value;
64  } else {
65  $this->headers[$header] = $this->headerFactory->createHeader($header, $value);
66  }
67 
68  return $this;
69  }
70 
71  public function addHeaders(array $headers)
72  {
73  foreach ($headers as $key => $value) {
74  $this->addHeader($key, $value);
75  }
76 
77  return $this;
78  }
79 
80  public function getHeader($header)
81  {
82  return $this->headers[$header];
83  }
84 
85  public function getHeaders()
86  {
87  return $this->headers;
88  }
89 
90  public function getHeaderLines()
91  {
92  $headers = array();
93  foreach ($this->headers as $value) {
94  $headers[] = $value->getName() . ': ' . $value;
95  }
96 
97  return $headers;
98  }
99 
100  public function setHeader($header, $value)
101  {
102  unset($this->headers[$header]);
103  $this->addHeader($header, $value);
104 
105  return $this;
106  }
107 
108  public function setHeaders(array $headers)
109  {
110  $this->headers->clear();
111  foreach ($headers as $key => $value) {
112  $this->addHeader($key, $value);
113  }
114 
115  return $this;
116  }
117 
118  public function hasHeader($header)
119  {
120  return isset($this->headers[$header]);
121  }
122 
123  public function removeHeader($header)
124  {
125  unset($this->headers[$header]);
126 
127  return $this;
128  }
129 
134  public function getTokenizedHeader($header, $token = ';')
135  {
136  Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader()->parseParams()');
137  if ($this->hasHeader($header)) {
138  $data = new Collection();
139  foreach ($this->getHeader($header)->parseParams() as $values) {
140  foreach ($values as $key => $value) {
141  if ($value === '') {
142  $data->set($data->count(), $key);
143  } else {
144  $data->add($key, $value);
145  }
146  }
147  }
148  return $data;
149  }
150  }
151 
156  public function setTokenizedHeader($header, $data, $token = ';')
157  {
158  Version::warn(__METHOD__ . ' is deprecated.');
159  return $this;
160  }
161 
166  public function getCacheControlDirective($directive)
167  {
168  Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->getDirective()');
169  if (!($header = $this->getHeader('Cache-Control'))) {
170  return null;
171  }
172 
173  return $header->getDirective($directive);
174  }
175 
180  public function hasCacheControlDirective($directive)
181  {
182  Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->hasDirective()');
183  if ($header = $this->getHeader('Cache-Control')) {
184  return $header->hasDirective($directive);
185  } else {
186  return false;
187  }
188  }
189 
194  public function addCacheControlDirective($directive, $value = true)
195  {
196  Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->addDirective()');
197  if (!($header = $this->getHeader('Cache-Control'))) {
198  $this->addHeader('Cache-Control', '');
199  $header = $this->getHeader('Cache-Control');
200  }
201 
202  $header->addDirective($directive, $value);
203 
204  return $this;
205  }
206 
211  public function removeCacheControlDirective($directive)
212  {
213  Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->removeDirective()');
214  if ($header = $this->getHeader('Cache-Control')) {
215  $header->removeDirective($directive);
216  }
217 
218  return $this;
219  }
220 }
Guzzle\Http\Message\AbstractMessage\hasHeader
hasHeader($header)
Definition: AbstractMessage.php:133
Guzzle\Http\Message\AbstractMessage\setHeaderFactory
setHeaderFactory(HeaderFactoryInterface $factory)
Definition: AbstractMessage.php:61
Guzzle\Http\Message\Header\HeaderFactory
Definition: HeaderFactory.php:10
Guzzle\Http\Message\AbstractMessage\getHeader
getHeader($header)
Definition: AbstractMessage.php:95
Guzzle\Http\Message
Definition: AbstractMessage.php:3
Guzzle\Http\Message\AbstractMessage\getTokenizedHeader
getTokenizedHeader($header, $token=';')
Definition: AbstractMessage.php:149
Guzzle\Http\Message\MessageInterface
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php:8
Guzzle\Http\Message\AbstractMessage\addCacheControlDirective
addCacheControlDirective($directive, $value=true)
Definition: AbstractMessage.php:209
Guzzle\Http\Message\AbstractMessage\$params
$params
Definition: AbstractMessage.php:33
Guzzle\Http\Message\AbstractMessage\removeCacheControlDirective
removeCacheControlDirective($directive)
Definition: AbstractMessage.php:226
Guzzle\Common\Version\warn
static warn($message)
Definition: Version.php:23
Guzzle\Http\Message\AbstractMessage\addHeader
addHeader($header, $value)
Definition: AbstractMessage.php:73
Guzzle\Http\Message\AbstractMessage\getParams
getParams()
Definition: AbstractMessage.php:68
Guzzle\Http\Message\AbstractMessage\setHeader
setHeader($header, $value)
Definition: AbstractMessage.php:115
Guzzle\Http\Message\Header\HeaderCollection
Definition: HeaderCollection.php:10
Guzzle\Common\Version
Definition: Version.php:8
Guzzle\Http\Message\Header\HeaderInterface
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderInterface.php:7
Guzzle\Http\Message\AbstractMessage\setTokenizedHeader
setTokenizedHeader($header, $data, $token=';')
Definition: AbstractMessage.php:171
Guzzle\Http\Message\AbstractMessage\getCacheControlDirective
getCacheControlDirective($directive)
Definition: AbstractMessage.php:181
Guzzle\Http\Message\AbstractMessage\$headers
$headers
Definition: AbstractMessage.php:21
Guzzle\Http\Message\AbstractMessage\removeHeader
removeHeader($header)
Definition: AbstractMessage.php:138
Guzzle\Http\Message\Header\HeaderFactoryInterface
Definition: HeaderFactoryInterface.php:8
Guzzle\Http\Message\AbstractMessage\getHeaders
getHeaders()
Definition: AbstractMessage.php:100
Guzzle\Http\Message\AbstractMessage\hasCacheControlDirective
hasCacheControlDirective($directive)
Definition: AbstractMessage.php:195
Guzzle\Http\Message\AbstractMessage\$protocolVersion
$protocolVersion
Definition: AbstractMessage.php:45
Guzzle\Http\Message\AbstractMessage
Definition: AbstractMessage.php:15
Guzzle\Http\Message\AbstractMessage\getHeaderLines
getHeaderLines()
Definition: AbstractMessage.php:105
Guzzle\Http\Message\AbstractMessage\$headerFactory
$headerFactory
Definition: AbstractMessage.php:27
Guzzle\Http\Message\AbstractMessage\setHeaders
setHeaders(array $headers)
Definition: AbstractMessage.php:123
Guzzle\Common\Collection
Definition: paymethod/paypal/lib/vendor/guzzle/guzzle/src/Guzzle/Common/Collection.php:11
Guzzle\Http\Message\AbstractMessage\$protocol
$protocol
Definition: AbstractMessage.php:39
Guzzle\Http\Message\AbstractMessage\__construct
__construct()
Definition: AbstractMessage.php:47
Guzzle\Http\Message\AbstractMessage\addHeaders
addHeaders(array $headers)
Definition: AbstractMessage.php:86