| @@ 56-70 (lines=15) @@ | ||
| 53 | throw new UnexpectedValueException('Array expected'); |
|
| 54 | } |
|
| 55 | ||
| 56 | foreach ($this->expectedHeadersSchemas as $name => $expectedSchema) { |
|
| 57 | if (isset($actualHeaders[$name])) { |
|
| 58 | $errors = $this->validator->validate( |
|
| 59 | $this->normalizeHeaderValue($actualHeaders[$name]), |
|
| 60 | $expectedSchema, |
|
| 61 | $name |
|
| 62 | ); |
|
| 63 | $this->errors = array_merge($this->errors, $errors); |
|
| 64 | } elseif (isset($expectedSchema->required) && $expectedSchema->required) { |
|
| 65 | $this->errors[] = [ |
|
| 66 | 'property' => $name, |
|
| 67 | 'message' => "Missing required header ({$name})", |
|
| 68 | ]; |
|
| 69 | } |
|
| 70 | } |
|
| 71 | ||
| 72 | return empty($this->errors); |
|
| 73 | } |
|
| @@ 160-177 (lines=18) @@ | ||
| 157 | parse_str($uri->getQuery(), $actualQueryParams); |
|
| 158 | ||
| 159 | // TODO: Assert query params |
|
| 160 | foreach ($this->queryParams as $name => $queryParamSchema) { |
|
| 161 | if (isset($actualQueryParams[$name])) { |
|
| 162 | $actualQueryParam = $actualQueryParams[$name]; |
|
| 163 | ||
| 164 | // TODO: Consider to disallow non-string params in query, that make no sense |
|
| 165 | $actualQueryParam = $this->normalizeNumericString($actualQueryParam); |
|
| 166 | ||
| 167 | $this->errors = array_merge( |
|
| 168 | $this->errors, |
|
| 169 | $this->validator->validate($actualQueryParam, $queryParamSchema, 'query') |
|
| 170 | ); |
|
| 171 | } elseif (isset($queryParamSchema->required) && $queryParamSchema->required) { |
|
| 172 | $this->errors[] = [ |
|
| 173 | 'property' => 'query', |
|
| 174 | 'message' => "Missing required query param ({$name})", |
|
| 175 | ]; |
|
| 176 | } |
|
| 177 | } |
|
| 178 | ||
| 179 | return empty($this->errors); |
|
| 180 | } |
|