1. <?php
  2. /**
  3. * Cleans up artifacts from HTTP responses for batch processing.
  4. *
  5. * @param array $responses An array of HTTP response data. Each element
  6. * should be an associative array containing at least
  7. * 'body', 'headers', and 'status_code' keys.
  8. * @return array An array of cleaned response data.
  9. */
  10. function cleanupResponses(array $responses): array
  11. {
  12. $cleanedResponses = [];
  13. foreach ($responses as $response) {
  14. // Validate input
  15. if (!isset($response['body']) || !isset($response['headers']) || !isset($response['status_code'])) {
  16. continue; // Skip invalid response
  17. }
  18. // Sanitize the response body (example: remove HTML tags)
  19. $body = strip_tags($response['body']);
  20. // Clean up headers (example: remove sensitive information)
  21. $headers = array_filter($response['headers'], function ($value) {
  22. return strpos($value, 'Authorization:') === false &&
  23. strpos($value, 'Cookie:') === false; // Example: remove Auth and Cookie headers
  24. });
  25. // Create a new cleaned response
  26. $cleanedResponse = [
  27. 'body' => $body,
  28. 'headers' => $headers,
  29. 'status_code' => $response['status_code'],
  30. ];
  31. $cleanedResponses[] = $cleanedResponse;
  32. }
  33. return $cleanedResponses;
  34. }
  35. ?>

Add your comment