Skip to content

Commit 846f3b2

Browse files
committed
Move elgigi/har-parser from require to suggest in HttpClient
1 parent 69a6f8c commit 846f3b2

File tree

7 files changed

+23
-3
lines changed

7 files changed

+23
-3
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@
9494
"berlioz/helpers": "^1.10",
9595
"colinodell/json5": "^2.2",
9696
"doctrine/sql-formatter": "^1.1",
97-
"elgigi/har-parser": "^1.0",
9897
"hectororm/hectororm": "^1.0",
9998
"league/climate": "^3.7",
10099
"league/flysystem": "^2.1 || ^3.0",
@@ -116,6 +115,7 @@
116115
"ext-amqp": "*",
117116
"ext-redis": "*",
118117
"aws/aws-sdk-php": "^3.0",
118+
"elgigi/har-parser": "^1.0",
119119
"hectororm/query": "^1.0",
120120
"php-http/discovery": "^1.20",
121121
"phpstan/phpstan": "^2.0",
@@ -131,6 +131,7 @@
131131
"ext-yaml": "To use YamlAdapter with Config",
132132
"ext-zlib": "To use GzStream in HttpMessage",
133133
"symfony/yaml": "To use YamlAdapter with Config",
134+
"elgigi/har-parser": "To use HAR support in HttpClient",
134135
"ext-amqp": "To use AMQP queue in QueueManager",
135136
"ext-pcntl": "Tu use signals to exit worker in QueueManager",
136137
"ext-redis": "To use Redis queue in QueueManager",

src/Http/Client/Adapter/HarAdapter.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
use Psr\Http\Message\RequestInterface;
2626
use Psr\Http\Message\ResponseInterface;
2727

28+
class_exists(Parser::class) || throw HttpClientException::missingPackage('elgigi/har-parser');
29+
2830
class HarAdapter implements AdapterInterface
2931
{
3032
protected Log $har;

src/Http/Client/Exception/HttpClientException.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,15 @@
2222
*/
2323
class HttpClientException extends Exception implements ClientExceptionInterface
2424
{
25+
/**
26+
* Missing package.
27+
*
28+
* @param string $package
29+
*
30+
* @return static
31+
*/
32+
public static function missingPackage(string $package): static
33+
{
34+
return new self(sprintf('Package `%s` was not found.', $package));
35+
}
2536
}

src/Http/Client/Har/HarFactory.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
use ElGigi\HarParser\Exception\InvalidArgumentException;
1919
use ElGigi\HarParser\Parser;
2020

21+
class_exists(Parser::class) || throw HttpClientException::missingPackage('elgigi/har-parser');
22+
2123
class HarFactory
2224
{
2325
/**

src/Http/Client/Har/HarGenerator.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
use Psr\Http\Message\ResponseInterface;
3131
use Throwable;
3232

33+
class_exists(HarBuilder\Builder::class) || throw HttpClientException::missingPackage('elgigi/har-parser');
34+
3335
class HarGenerator
3436
{
3537
use CookieParserTrait;

src/Http/Client/Har/HarHandler.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
use Psr\Http\Message\RequestInterface;
2626
use Psr\Http\Message\ResponseInterface;
2727

28+
class_exists(Har\Log::class) || throw HttpClientException::missingPackage('elgigi/har-parser');
29+
2830
class HarHandler
2931
{
3032
/**

src/Http/Client/composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
"php": "^8.2",
2323
"ext-mbstring": "*",
2424
"berlioz/http-message": "self.version",
25-
"elgigi/har-parser": "^1.0",
2625
"psr/http-client": "^1.0",
2726
"psr/log": "^2.0 || ^3.0"
2827
},
2928
"suggest": {
3029
"ext-curl": "To use CURL adapter",
31-
"berlioz/html-selector": "To query HTML result like jQuery in JavaScript."
30+
"berlioz/html-selector": "To query HTML result like jQuery in JavaScript.",
31+
"elgigi/har-parser": "To use HAR support (record/replay HTTP sessions)"
3232
},
3333
"provide": {
3434
"psr/http-client-implementation": "1.0",

0 commit comments

Comments
 (0)