@Nonnull @Override public Response handle(@Nonnull final Context context) throws Exception { String vendor = getVendorToken(context); String project = getProjectToken(context); String version = getVersionToken(context); Request request = checkNotNull(context.getRequest()); Payload payload = checkNotNull(request.getPayload()); Repository repository = context.getRepository(); ComposerHostedFacet hostedFacet = repository.facet(ComposerHostedFacet.class); hostedFacet.upload(vendor, project, version, payload); return HttpResponses.ok(); } }
@Nonnull @Override public Response handle(@Nonnull final Context context) throws Exception { State state = context.getAttributes().require(TokenMatcher.State.class); Repository repository = context.getRepository(); log.debug("[putPackage] repository: {} tokens: {}", repository.getName(), state.getTokens()); repository.facet(NpmHostedFacet.class) .putPackage(packageId(state), revision(state), context.getRequest().getPayload()); return NpmResponses.ok(); } };
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; }
private Response doPut(@Nonnull final Context context, final MavenPath path, final MavenFacet mavenFacet) throws IOException { if (mavenFacet.layoutPolicy() == LayoutPolicy.STRICT && isValidSnapshot(path.getCoordinates()) && !mavenFacet.getMavenPathParser().isRepositoryMetadata(path)) { throw new IllegalOperationException("Invalid path for a Maven 2 repository"); } mavenFacet.put(path, context.getRequest().getPayload()); return HttpResponses.created(); }
@Override public Response login(final Context context) { final Payload payload = context.getRequest().getPayload(); if (payload == null) { return NpmResponses.badRequest("Missing body"); } StorageFacet storageFacet = facet(StorageFacet.class); try (TempBlob tempBlob = storageFacet.createTempBlob(payload, NpmFacetUtils.HASH_ALGORITHMS)) { NestedAttributesMap request = NpmJsonUtils.parse(tempBlob); String token = npmTokenManager.login(request.get("name", String.class), request.get("password", String.class)); if (null != token) { NestedAttributesMap response = new NestedAttributesMap("response", Maps.newHashMap()); response.set("ok", Boolean.TRUE.toString()); response.set("rev", "_we_dont_use_revs_any_more"); response.set("id", "org.couchdb.user:undefined"); response.set("token", token); return HttpResponses.created(new BytesPayload(NpmJsonUtils.bytes(response), ContentTypes.APPLICATION_JSON)); } else { return NpmResponses.badCredentials("Bad username or password"); } } catch (IOException e) { throw new RuntimeException(e); } }
Payload content = context.getRequest().getPayload();
@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); } }
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); } }