1. import java.util.HashMap;
  2. import java.util.Map;
  3. class HeaderValidator {
  4. public static boolean validateHeaders(Map<String, String> headers, Map<String, String> expectedHeaders) {
  5. if (headers == null || expectedHeaders == null) {
  6. return false; // Handle null cases
  7. }
  8. for (Map.Entry<String, String> expectedEntry : expectedHeaders.entrySet()) {
  9. String headerName = expectedEntry.getKey();
  10. String expectedValue = expectedEntry.getValue();
  11. if (!headers.containsKey(headerName)) {
  12. return false; // Required header missing
  13. }
  14. String actualValue = headers.get(headerName);
  15. if (!actualValue.equals(expectedValue)) {
  16. return false; // Header value mismatch
  17. }
  18. }
  19. return true; // All headers are valid
  20. }
  21. public static void main(String[] args) {
  22. // Example usage
  23. Map<String, String> actualHeaders = new HashMap<>();
  24. actualHeaders.put("Content-Type", "application/json");
  25. actualHeaders.put("X-Custom-Header", "someValue");
  26. Map<String, String> expectedHeaders = new HashMap<>();
  27. expectedHeaders.put("Content-Type", "application/json");
  28. expectedHeaders.put("X-Custom-Header", "someValue");
  29. expectedHeaders.put("Authorization", "Bearer validToken");
  30. boolean isValid = validateHeaders(actualHeaders, expectedHeaders);
  31. if (isValid) {
  32. System.out.println("Headers are valid.");
  33. } else {
  34. System.out.println("Headers are invalid.");
  35. }
  36. //Test case with missing header
  37. Map<String, String> actualHeaders2 = new HashMap<>();
  38. actualHeaders2.put("Content-Type", "application/json");
  39. boolean isValid2 = validateHeaders(actualHeaders2, expectedHeaders);
  40. if (isValid2) {
  41. System.out.println("Headers are valid.");
  42. } else {
  43. System.out.println("Headers are invalid.");
  44. }
  45. }
  46. }

Add your comment