| @@ -19,11 +19,22 @@ | ||
| 19 | 19 | * @return bool |
| 20 | 20 | */ |
| 21 | 21 | public function apiResponse($logID, $integrationId, $apiType, $responseType, $apiResponse, $entryDetails = []) |
| 22 | 22 | { |
| 23 | - if (!$apiType || !$apiResponse) { | |
| 23 | + if (!$apiType) { | |
| 24 | 24 | return false; |
| 25 | 25 | } |
| 26 | + | |
| 27 | + // An empty response means a failed HTTP call; log it or the failure leaves no trace. | |
| 28 | + if (is_wp_error($apiResponse)) { | |
| 29 | + $apiResponse = [ | |
| 30 | + 'error_code' => $apiResponse->get_error_code(), | |
| 31 | + 'description' => $apiResponse->get_error_message(), | |
| 32 | + ]; | |
| 33 | + } elseif (!$apiResponse && !is_array($apiResponse)) { | |
| 34 | + $apiResponse = ['description' => __('Empty response received from the API.', 'bit-form')]; | |
| 35 | + } | |
| 36 | + | |
| 26 | 37 | $apiType = wp_json_encode($apiType); |
| 27 | 38 | $apiResponse = wp_json_encode($apiResponse); |
| 28 | 39 | |
| 29 | 40 | $ipTool = new IpTool(); |