WebP Express CloudHost.es Fix v0.25.9-cloudhost
✅ Fixed bulk conversion getting stuck on missing files ✅ Added robust error handling and timeout protection ✅ Improved JavaScript response parsing ✅ Added file existence validation ✅ Fixed missing PHP class imports ✅ Added comprehensive try-catch error recovery 🔧 Key fixes: - File existence checks before conversion attempts - 30-second timeout protection per file - Graceful handling of 500 errors and JSON parsing issues - Automatic continuation to next file on failures - Cache busting for JavaScript updates 🎯 Result: Bulk conversion now completes successfully even with missing files 🚀 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
36
lib/classes/WPHttpRequester.php
Normal file
36
lib/classes/WPHttpRequester.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace WebPExpress;
|
||||
|
||||
use \HtaccessCapabilityTester\HttpRequesterInterface;
|
||||
use \HtaccessCapabilityTester\HttpResponse;
|
||||
|
||||
class WPHttpRequester implements HttpRequesterInterface
|
||||
{
|
||||
/**
|
||||
* Make a HTTP request to a URL.
|
||||
*
|
||||
* @param string $url The URL to make the HTTP request to
|
||||
*
|
||||
* @return HttpResponse A HttpResponse object, which simply contains body, status code
|
||||
* and response headers
|
||||
*/
|
||||
public function makeHTTPRequest($url) {
|
||||
$response = wp_remote_get($url, ['timeout' => 10]);
|
||||
//echo '<pre>' . print_r($response, true) . '</pre>';
|
||||
|
||||
if (is_wp_error($response)) {
|
||||
return new HttpResponse($response->get_error_message(), '0', []);
|
||||
} else {
|
||||
$body = wp_remote_retrieve_body($response);
|
||||
$statusCode = wp_remote_retrieve_response_code($response);
|
||||
$headersDict = wp_remote_retrieve_headers($response);
|
||||
if (method_exists($headersDict, 'getAll')) {
|
||||
$headersMap = $headersDict->getAll();
|
||||
} else {
|
||||
$headersMap = [];
|
||||
}
|
||||
return new HttpResponse($body, $statusCode, $headersMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user