com.yahoo.restapi.ResourceResponse Maven / Gradle / Ivy
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.restapi;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.slime.Slime;
import java.net.URI;
import java.util.List;
/**
* Returns a response containing an array of links to sub-resources
*
* @author bratseth
*/
public class ResourceResponse extends SlimeJsonResponse {
public ResourceResponse(URI parentUrl, List subResources) {
super(200, toSlime(parentUrl, subResources));
}
public ResourceResponse(URI parentUrl, String ... subResources) {
this(parentUrl, List.of(subResources));
}
public ResourceResponse(HttpRequest request, String ... subResources) {
this(request.getUri(), subResources);
}
private static Slime toSlime(URI parentUrl, List subResources) {
var slime = new Slime();
var resourceArray = slime.setObject().setArray("resources");
for (var subResource : subResources) {
var resourceEntry = resourceArray.addObject();
resourceEntry.setString("url", new UriBuilder(parentUrl).append(subResource)
.withTrailingSlash()
.toString());
}
return slime;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy