import java.util.HashMap;
import java.util.Map;
class HeaderValidator {
public static boolean validateHeaders(Map<String, String> headers, Map<String, String> expectedHeaders) {
if (headers == null || expectedHeaders == null) {
return false; // Handle null cases
}
for (Map.Entry<String, String> expectedEntry : expectedHeaders.entrySet()) {
String headerName = expectedEntry.getKey();
String expectedValue = expectedEntry.getValue();
if (!headers.containsKey(headerName)) {
return false; // Required header missing
}
String actualValue = headers.get(headerName);
if (!actualValue.equals(expectedValue)) {
return false; // Header value mismatch
}
}
return true; // All headers are valid
}
public static void main(String[] args) {
// Example usage
Map<String, String> actualHeaders = new HashMap<>();
actualHeaders.put("Content-Type", "application/json");
actualHeaders.put("X-Custom-Header", "someValue");
Map<String, String> expectedHeaders = new HashMap<>();
expectedHeaders.put("Content-Type", "application/json");
expectedHeaders.put("X-Custom-Header", "someValue");
expectedHeaders.put("Authorization", "Bearer validToken");
boolean isValid = validateHeaders(actualHeaders, expectedHeaders);
if (isValid) {
System.out.println("Headers are valid.");
} else {
System.out.println("Headers are invalid.");
}
//Test case with missing header
Map<String, String> actualHeaders2 = new HashMap<>();
actualHeaders2.put("Content-Type", "application/json");
boolean isValid2 = validateHeaders(actualHeaders2, expectedHeaders);
if (isValid2) {
System.out.println("Headers are valid.");
} else {
System.out.println("Headers are invalid.");
}
}
}
Add your comment