Skip to content

Http client doesnt handle GuzzleHttp\Exception\RequestException #55733

Open
@mantas-done

Description

@mantas-done

Laravel Version

v12.14.1

PHP Version

8.4.6

Database Driver & Version

No response

Description

I am getting Guzzle exception instead of Laravel's Http exception on some errors.

Image

Seems that head() method doesn't handle the exception that can occur in the send() method.

Steps To Reproduce

Run this code and Guzzle exception will be thrown.

\Illuminate\Support\Facades\Http::head('https://www.cursomeca.com/fi_leccion.php');

above code will throw GuzzleHttp\Exception\RequestException, but should throw Illuminate\Http\Client\ConnectionException

[2025-05-14 11:25:46] local.ERROR: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://www.cursomeca.com/fi_leccion.php {"userId":1,"exception":"[object] (GuzzleHttp\Exception\RequestException(code: 0): cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://www.cursomeca.com/fi_leccion.php at /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:276)
[stacktrace]
#0 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(205): GuzzleHttp\Handler\CurlFactory::createRejection()
#1 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(157): GuzzleHttp\Handler\CurlFactory::finishError()
#2 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\Handler\CurlFactory::finish()
#3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke()
#4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(48): GuzzleHttp\Handler\Proxy::{closure:GuzzleHttp\Handler\Proxy::wrapSync():27}()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(1343): GuzzleHttp\Handler\Proxy::{closure:GuzzleHttp\Handler\Proxy::wrapStreaming():47}()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(1309): Illuminate\Http\Client\PendingRequest->{closure:{closure:Illuminate\Http\Client\PendingRequest::buildStubHandler():1330}:1331}()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(1295): Illuminate\Http\Client\PendingRequest->{closure:{closure:Illuminate\Http\Client\PendingRequest::buildRecorderHandler():1307}:1308}()
#8 /var/www/html/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(35): Illuminate\Http\Client\PendingRequest->{closure:{closure:Illuminate\Http\Client\PendingRequest::buildBeforeSendingHandler():1293}:1294}()
#9 /var/www/html/vendor/guzzlehttp/guzzle/src/Middleware.php(38): GuzzleHttp\PrepareBodyMiddleware->__invoke()
#10 /var/www/html/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(71): GuzzleHttp\Middleware::{closure:{closure:GuzzleHttp\Middleware::cookies():28}:29}()
#11 /var/www/html/vendor/guzzlehttp/guzzle/src/Middleware.php(63): GuzzleHttp\RedirectMiddleware->__invoke()
#12 /var/www/html/vendor/guzzlehttp/guzzle/src/HandlerStack.php(75): GuzzleHttp\Middleware::{closure:{closure:GuzzleHttp\Middleware::httpErrors():60}:61}()
#13 /var/www/html/vendor/guzzlehttp/guzzle/src/Client.php(333): GuzzleHttp\HandlerStack->__invoke()
#14 /var/www/html/vendor/guzzlehttp/guzzle/src/Client.php(169): GuzzleHttp\Client->transfer()
#15 /var/www/html/vendor/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\Client->requestAsync()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(1141): GuzzleHttp\Client->request()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(905): Illuminate\Http\Client\PendingRequest->sendRequest()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/helpers.php(338): Illuminate\Http\Client\PendingRequest->{closure:Illuminate\Http\Client\PendingRequest::send():903}()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(903): retry()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(786): Illuminate\Http\Client\PendingRequest->send()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Client/Factory.php(535): Illuminate\Http\Client\PendingRequest->head()
#22 /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Illuminate\Http\Client\Factory->__call()
#23 /var/www/html/routes/web.php(2187): Illuminate\Support\Facades\Facade::__callStatic()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\Routing\RouteFileRegistrar->{closure:/var/www/html/routes/web.php:2186}()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\Routing\CallableDispatcher->dispatch()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\Routing\Route->runCallable()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(808): Illuminate\Routing\Route->run()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(169): Illuminate\Routing\Router->{closure:Illuminate\Routing\Router::runRouteWithinStack():807}()
#29 /var/www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(66): Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():167}()
#30 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle()
#31 /var/www/html/app/Http/Middleware/AddUserId.php(23): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#32 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\AddUserId->handle()
#33 /var/www/html/app/Http/Middleware/ImpactMiddleware.php(22): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#34 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\ImpactMiddleware->handle()
#35 /var/www/html/app/Http/Middleware/LogLandingPage.php(23): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#36 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\LogLandingPage->handle()
#37 /var/www/html/app/Http/Middleware/RememberReferrer.php(22): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#38 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\RememberReferrer->handle()
#39 /var/www/html/app/Http/Middleware/SetLocale.php(32): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#40 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\SetLocale->handle()
#41 /var/www/html/app/Http/Middleware/GlobalMiddleware/LogoutUserFromAllDevices.php(32): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#42 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\GlobalMiddleware\LogoutUserFromAllDevices->handle()
#43 /var/www/html/app/Http/Middleware/CheckIfBlocked.php(25): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#44 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\CheckIfBlocked->handle()
#45 /var/www/html/app/Http/Middleware/HasOrderCookieSetter.php(30): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#46 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\HasOrderCookieSetter->handle()
#47 /var/www/html/app/Http/Middleware/ReferringMiddleware.php(25): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#48 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\ReferringMiddleware->handle()
#49 /var/www/html/app/Http/Middleware/SetReferrer.php(24): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#50 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\SetReferrer->handle()
#51 /var/www/html/app/Http/Middleware/AdwordsLogger.php(22): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#52 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\AdwordsLogger->handle()
#53 /var/www/html/app/Http/Middleware/RedirectSubdomains.php(45): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#54 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\RedirectSubdomains->handle()
#55 /var/www/html/app/Http/Middleware/RemoveTrailingSlash.php(25): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#56 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): App\Http\Middleware\RemoveTrailingSlash->handle()
#57 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#58 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Routing\Middleware\SubstituteBindings->handle()
#59 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#60 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()
#61 /var/www/html/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#62 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\View\Middleware\ShareErrorsFromSession->handle()
#63 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#64 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
#65 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Session\Middleware\StartSession->handle()
#66 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#67 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
#68 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#69 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Cookie\Middleware\EncryptCookies->handle()
#70 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(126): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#71 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\Pipeline\Pipeline->then()
#72 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\Routing\Router->runRouteWithinStack()
#73 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\Routing\Router->runRoute()
#74 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\Routing\Router->dispatchToRoute()
#75 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\Routing\Router->dispatch()
#76 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(169): Illuminate\Foundation\Http\Kernel->{closure:Illuminate\Foundation\Http\Kernel::dispatchToRouter():197}()
#77 /var/www/html/vendor/mantas-done/laravel-apm/src/Middleware/DelayedWriter.php(12): Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():167}()
#78 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Done\LaravelAPM\Middleware\DelayedWriter->handle()
#79 /var/www/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(66): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#80 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle()
#81 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#82 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
#83 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#84 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(208): Illuminate\Http\Middleware\TrustProxies->handle()
#85 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(126): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():183}:184}()
#86 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\Pipeline\Pipeline->then()
#87 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
#88 /var/www/html/public/index.php(51): Illuminate\Foundation\Http\Kernel->handle()
#89 /var/www/html/server.php(22): require_once('...')
#90 {main}
"} {"user_id":1}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions