| @@ 220-234 (lines=15) @@ | ||
| 217 | /** |
|
| 218 | * {@inheritdoc} |
|
| 219 | */ |
|
| 220 | public function withPath(string $path) : UriInterface |
|
| 221 | { |
|
| 222 | if (strpos($path, '?') !== false) { |
|
| 223 | throw new \InvalidArgumentException(__CLASS__.': Invalid path provided; must not contain a query string'); |
|
| 224 | } |
|
| 225 | ||
| 226 | if (strpos($path, '#') !== false) { |
|
| 227 | throw new \InvalidArgumentException(__CLASS__.': Invalid path provided; must not contain a URI fragment'); |
|
| 228 | } |
|
| 229 | ||
| 230 | $new = clone $this; |
|
| 231 | $new->url['path'] = $path; |
|
| 232 | ||
| 233 | return $new; |
|
| 234 | } |
|
| 235 | ||
| 236 | /** |
|
| 237 | * {@inheritdoc} |
|
| @@ 239-249 (lines=11) @@ | ||
| 236 | /** |
|
| 237 | * {@inheritdoc} |
|
| 238 | */ |
|
| 239 | public function withQuery(string $query) : UriInterface |
|
| 240 | { |
|
| 241 | if (strpos($query, '#') !== false) { |
|
| 242 | throw new \InvalidArgumentException(__CLASS__.': Query string must not include a URI fragment'); |
|
| 243 | } |
|
| 244 | ||
| 245 | $new = clone $this; |
|
| 246 | $new->url['query'] = (strpos($query, '?') !== false) ? substr($query, 1) : $query; |
|
| 247 | ||
| 248 | return $new; |
|
| 249 | } |
|
| 250 | ||
| 251 | /** |
|
| 252 | * {@inheritdoc} |
|