private boolean isGetRequest(final Request request) { return GET.equals(request.getAction()); }
/** * Returns BREAD action for request action. */ protected String action(final Request request) { switch (request.getAction()) { case HttpMethods.OPTIONS: case HttpMethods.GET: case HttpMethods.HEAD: case HttpMethods.TRACE: return BreadActions.READ; case HttpMethods.POST: case HttpMethods.MKCOL: case HttpMethods.PATCH: return BreadActions.ADD; case HttpMethods.PUT: return BreadActions.EDIT; case HttpMethods.DELETE: return BreadActions.DELETE; } throw new RuntimeException("Unsupported action: " + request.getAction()); } }
@Override public boolean matches(final Context context) { final String action = context.getRequest().getAction(); return allowedActions.contains(action); } }
private boolean isGetOrHeadRequest(final Context context) { String action = context.getRequest().getAction(); return GET.equals(action) || HEAD.equals(action); }
/** * Builds a not-allowed response if the specified method is unsupported under the specified context, null otherwise. */ @Nullable protected Response buildMethodNotAllowedResponse(final Context context) { final String action = context.getRequest().getAction(); if (!GET.equals(action) && !HEAD.equals(action)) { return HttpResponses.methodNotAllowed(action, GET, HEAD); } return null; }
@Override public boolean matches(final Context context) { checkNotNull(context); String action = context.getRequest().getAction(); String path = context.getRequest().getPath(); log.debug("Matching: {} {}", action, path); if (HttpMethods.GET.equals(action)) { path = Strings2.lower(path); return path.endsWith("/") || path.endsWith("/index.html") || path.endsWith("/index.htm"); } return false; } }
@Nonnull @Override public Response handle(@Nonnull final Context context) throws Exception { MavenPath path = context.getAttributes().require(MavenPath.class); Repository repository = context.getRepository(); String action = context.getRequest().getAction(); switch (action) { case GET: case HEAD: return doGet(path, repository); default: return HttpResponses.methodNotAllowed(context.getRequest().getAction(), GET, HEAD); } }
@Nonnull @Override public Response handle(@Nonnull final Context context) throws Exception { final String method = context.getRequest().getAction(); switch (method) { case GET: case HEAD: { final DispatchedRepositories dispatched = context.getRequest().getAttributes() .getOrCreate(DispatchedRepositories.class); return doGet(context, dispatched); } default: return HttpResponses.methodNotAllowed(method, GET, HEAD); } }
@Override public Response handle(Context context) throws Exception { String path = assetPath(context); String method = context.getRequest().getAction(); AptSigningFacet facet = context.getRepository().facet(AptSigningFacet.class); if ("repository-key.gpg".equals(path) && GET.equals(method)) { return HttpResponses.ok(facet.getPublicKey()); } return context.proceed(); }
@Nonnull @Override public Response handle(@Nonnull final Context context) throws Exception { MavenPath path = context.getAttributes().require(MavenPath.class); MavenFacet mavenFacet = context.getRepository().facet(MavenFacet.class); String action = context.getRequest().getAction(); switch (action) { case GET: case HEAD: return doGet(path, mavenFacet); case PUT: return doPut(context, path, mavenFacet); case DELETE: return doDelete(path, mavenFacet); default: return HttpResponses.methodNotAllowed(context.getRequest().getAction(), GET, HEAD, PUT, DELETE); } }
public Builder copy(final Request request) { checkNotNull(request); attributes = request.getAttributes(); headers = request.getHeaders(); action = request.getAction(); path = request.getPath(); parameters = request.getParameters(); payload = request.getPayload(); multipart = request.isMultipart(); multiparts = request.getMultiparts(); return this; }
Response error = NpmResponses.badRequest(e.getMessage()); log.warn("Error: {} {}: {} - {}", context.getRequest().getAction(), context.getRequest().getPath(), error.getStatus(), if (PUT.equals(context.getRequest().getAction())) { error = NpmResponses.badRequest(e.getMessage()); context.getRequest().getAction(), context.getRequest().getPath(), error.getStatus(),
context.getRequest().getAction(), context.getRequest().getPath(), e.toString()); context.getRequest().getAction(), context.getRequest().getPath(), e.toString()); if (PUT.equals(context.getRequest().getAction())) { return HttpResponses.badRequest(e.getMessage()); context.getRequest().getAction(), context.getRequest().getPath(), e.toString()); context.getRequest().getAction(), context.getRequest().getPath(), e.toString());
@Nonnull @Override public Response handle(@Nonnull final Context context) throws Exception { String action = context.getRequest().getAction(); if (!NFC_CACHEABLE_ACTIONS.contains(action)) { return context.proceed(); } NegativeCacheFacet negativeCache = context.getRepository().facet(NegativeCacheFacet.class); NegativeCacheKey key = negativeCache.getCacheKey(context); Response response; Status status = negativeCache.get(key); if (status == null) { response = context.proceed(); if (isNotFound(response)) { negativeCache.put(key, response.getStatus()); } else if (response.getStatus().isSuccessful()) { negativeCache.invalidate(key); } } else { response = buildResponse(status, context); log.debug("Found {} in negative cache, returning {}", key, response); } return response; }
if (!HttpMethods.GET.equals(context.getRequest().getAction())) { return response;
public Response handle(@Nonnull final Context context) throws Exception { String name = contentName(context); String method = context.getRequest().getAction();
@Override public Response handle(Context context) throws Exception { String path = assetPath(context); String method = context.getRequest().getAction(); AptFacet aptFacet = context.getRepository().facet(AptFacet.class); AptHostedFacet hostedFacet = context.getRepository().facet(AptHostedFacet.class); switch (method) { case GET: case HEAD: { return doGet(path, aptFacet); } case POST: { if (path.equals("rebuild-indexes")) { hostedFacet.rebuildIndexes(); return HttpResponses.ok(); } else if (path.equals("")) { hostedFacet.ingestAsset(context.getRequest().getPayload()); return HttpResponses.created(); } else { return HttpResponses.methodNotAllowed(method, GET, HEAD); } } default: return HttpResponses.methodNotAllowed(method, GET, HEAD, POST); } }
@Nonnull final Predicate<Response> requestPredicate) throws Exception final String action = context.getRequest().getAction(); log.debug("Conditional request: {} {}: {}", action,
private Response handleSnapshotAdminRequest(Context context, String id) throws Exception { String method = context.getRequest().getAction(); Repository repository = context.getRepository(); AptSnapshotFacet snapshotFacet = repository.facet(AptSnapshotFacet.class); switch (method) { case MKCOL: { snapshotFacet.createSnapshot(id, new AllSnapshotComponentSelector()); return HttpResponses.created(); } case PUT: { try (InputStream is = context.getRequest().getPayload().openInputStream()) { ControlFile settings = new ControlFileParser().parseControlFile(is); snapshotFacet.createSnapshot(id, new FilteredSnapshotComponentSelector(settings)); } return HttpResponses.created(); } case DELETE: { snapshotFacet.deleteSnapshot(id); return HttpResponses.noContent(); } default: return HttpResponses.methodNotAllowed(method, DELETE, MKCOL, PUT); } }