1. <?php
  2. /**
  3. * Formats and logs response headers for an experiment.
  4. *
  5. * @param array $headers The response headers array.
  6. * @param string $method The HTTP method (e.g., 'GET', 'POST').
  7. * @param string $url The requested URL.
  8. * @param string $response_body The response body.
  9. * @param string $experiment_id The ID of the experiment.
  10. */
  11. function formatAndLogHeaders(array $headers, string $method, string $url, string $response_body, string $experiment_id): void
  12. {
  13. $log_message = "--- Experiment Log ---\n";
  14. $log_message .= "Method: " . $method . "\n";
  15. $log_message .= "URL: " . $url . "\n";
  16. $log_message .= "Response Body (first 100 chars): " . substr($response_body, 0, 100) . "...\n";
  17. $log_message .= "\nResponse Headers:\n";
  18. foreach ($headers as $header => $value) {
  19. $log_message .= " " . $header . ": " . $value . "\n";
  20. }
  21. $log_message .= "\n--- End of Log ---\n";
  22. // Error logging (replace with your preferred logging mechanism)
  23. error_log($log_message, 3, '/path/to/your/error.log'); // Log to file
  24. // Optionally, you can also log to a database or other system.
  25. }
  26. //Example Usage (replace with your actual values)
  27. /*
  28. $headers = [
  29. 'Content-Type' => 'application/json',
  30. 'X-Custom-Header' => 'ExperimentData',
  31. 'Server' => 'MyServer/1.0'
  32. ];
  33. $method = 'POST';
  34. $url = '/api/endpoint';
  35. $response_body = '{"status": "success", "data": []}';
  36. $experiment_id = 'exp123';
  37. formatAndLogHeaders($headers, $method, $url, $response_body, $experiment_id);
  38. */
  39. ?>

Add your comment