use of com.yahoo.jdisc.http.HttpRequest.Method in project vespa by vespa-engine.
the class ConnectionControlSearcherTestCase method doSearch.
private Result doSearch(URI uri, long connectedAtMillis, long nowMillis) {
SocketAddress remoteAddress = Mockito.mock(SocketAddress.class);
Version version = Version.HTTP_1_1;
Method method = Method.GET;
CurrentContainer container = Mockito.mock(CurrentContainer.class);
Mockito.when(container.newReference(Mockito.any())).thenReturn(Mockito.mock(Container.class));
final com.yahoo.jdisc.http.HttpRequest serverRequest = com.yahoo.jdisc.http.HttpRequest.newServerRequest(container, uri, method, version, remoteAddress, connectedAtMillis);
HttpRequest incoming = new HttpRequest(serverRequest, new ByteArrayInputStream(new byte[0]));
Query query = new Query(incoming);
Execution e = new Execution(new Chain<Searcher>(ConnectionControlSearcher.createTestInstance(() -> nowMillis)), Execution.Context.createContextStub());
Result r = e.search(query);
return r;
}
use of com.yahoo.jdisc.http.HttpRequest.Method in project vespa by vespa-engine.
the class ControllerAuthorizationFilter method filter.
// NOTE: Be aware of the ordering of the path pattern matching. Semantics may change if the patterns are evaluated
// in different order.
@Override
public void filter(DiscFilterRequest request, ResponseHandler handler) {
Method method = getMethod(request);
if (isWhiteListedMethod(method))
return;
try {
Path path = new Path(request.getRequestURI());
AthenzPrincipal principal = getPrincipalOrThrow(request);
if (isWhiteListedOperation(path, method)) {
// no authz check
} else if (isHostedOperatorOperation(path, method)) {
verifyIsHostedOperator(principal);
} else if (isTenantAdminOperation(path, method)) {
verifyIsTenantAdmin(principal, getTenantId(path));
} else if (isTenantPipelineOperation(path, method)) {
verifyIsTenantPipelineOperator(principal, getTenantId(path), getApplicationName(path));
} else {
throw new ForbiddenException("No access control is explicitly declared for this api.");
}
} catch (WebApplicationException e) {
authorizationResponseHandler.handle(handler, request, e);
}
}
Aggregations