5
5
namespace Sentry \HttpClient ;
6
6
7
7
use GuzzleHttp \RequestOptions as GuzzleHttpClientOptions ;
8
- use Http \Adapter \Guzzle6 \Client as GuzzleHttpClient ;
8
+ use Http \Adapter \Guzzle6 \Client as Guzzle6HttpClient ;
9
+ use Http \Adapter \Guzzle7 \Client as Guzzle7HttpClient ;
9
10
use Http \Client \Common \Plugin \AuthenticationPlugin ;
10
11
use Http \Client \Common \Plugin \DecoderPlugin ;
11
12
use Http \Client \Common \Plugin \ErrorPlugin ;
@@ -114,6 +115,7 @@ private function resolveClient(Options $options)
114
115
$ symfonyConfig = [
115
116
'timeout ' => $ options ->getHttpConnectTimeout (),
116
117
'max_duration ' => $ options ->getHttpTimeout (),
118
+ 'http_version ' => $ options ->isCompressionEnabled () ? '1.1 ' : null ,
117
119
];
118
120
119
121
if (null !== $ options ->getHttpProxy ()) {
@@ -123,7 +125,7 @@ private function resolveClient(Options $options)
123
125
return new SymfonyHttplugClient (SymfonyHttpClient::create ($ symfonyConfig ));
124
126
}
125
127
126
- if (class_exists (GuzzleHttpClient ::class)) {
128
+ if (class_exists (Guzzle7HttpClient::class) || class_exists (Guzzle6HttpClient ::class)) {
127
129
$ guzzleConfig = [
128
130
GuzzleHttpClientOptions::TIMEOUT => $ options ->getHttpTimeout (),
129
131
GuzzleHttpClientOptions::CONNECT_TIMEOUT => $ options ->getHttpConnectTimeout (),
@@ -133,12 +135,17 @@ private function resolveClient(Options $options)
133
135
$ guzzleConfig [GuzzleHttpClientOptions::PROXY ] = $ options ->getHttpProxy ();
134
136
}
135
137
136
- return GuzzleHttpClient::createWithConfig ($ guzzleConfig );
138
+ if (class_exists (Guzzle7HttpClient::class)) {
139
+ return Guzzle7HttpClient::createWithConfig ($ guzzleConfig );
140
+ }
141
+
142
+ return Guzzle6HttpClient::createWithConfig ($ guzzleConfig );
137
143
}
138
144
139
145
if (class_exists (CurlHttpClient::class)) {
140
146
$ curlConfig = [
141
147
\CURLOPT_TIMEOUT => $ options ->getHttpTimeout (),
148
+ \CURLOPT_HTTP_VERSION => $ options ->isCompressionEnabled () ? \CURL_HTTP_VERSION_1_1 : \CURL_HTTP_VERSION_NONE ,
142
149
\CURLOPT_CONNECTTIMEOUT => $ options ->getHttpConnectTimeout (),
143
150
];
144
151
0 commit comments