package com.subgraph.vega.internal.http.conditions;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import com.subgraph.vega.api.http.conditions.ConditionType;
import com.subgraph.vega.api.http.conditions.MatchType;
public class ConditionTypeResponseStatus extends HttpBooleanCondition {
Pattern rePattern;
public ConditionTypeResponseStatus(Enum<?> comparisonType, String pattern, boolean isEnabled) {
super(ConditionType.RESPONSE_STATUS, comparisonType, pattern, isEnabled);
}
@Override
public boolean test(HttpRequest request) {
return false;
}
@Override
public boolean test(HttpResponse response) {
if (response != null) {
Matcher matcher = rePattern.matcher(Integer.toString(response.getStatusLine().getStatusCode()));
if (matcher.find() == ((MatchType)comparisonType == MatchType.MATCH)) {
return true;
}
}
return false;
}
@Override
void notifyPatternChange() {
rePattern = Pattern.compile(pattern);
}
}