package jetbrains.mps.ide.httpsupport.runtime.base;
/*Generated by MPS */
import jetbrains.mps.ide.httpsupport.manager.plugin.IHttpRequestHandler;
import jetbrains.mps.ide.httpsupport.manager.plugin.HttpRequest;
import java.util.List;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.Objects;
public abstract class HttpRequestHandlerBase implements IHttpRequestHandler {
protected final HttpRequest request;
public HttpRequestHandlerBase(HttpRequest request) {
this.request = request;
}
@Override
public boolean canHandle() {
List<String> queryPrefixSegments = getQueryPrefix();
List<String> queryPathSegments = request.getSegments();
if (ListSequence.fromList(queryPathSegments).count() < ListSequence.fromList(queryPrefixSegments).count()) {
return false;
}
for (int i = 0; i < ListSequence.fromList(queryPrefixSegments).count(); i++) {
if (!(Objects.equals(ListSequence.fromList(queryPathSegments).getElement(i), ListSequence.fromList(queryPrefixSegments).getElement(i)))) {
return false;
}
}
return true;
}
protected abstract List<String> getQueryPrefix();
}