@ PROPFIND @ Consumes ( { APPLICATION_XML } ) @ Produces ( { APPLICATION_XML } ) @ Timed public void getProperties ( @ Suspended final AsyncResponse response , @ Context final Request request , @ Context final UriInfo uriInfo , @ Context final HttpHeaders headers , final DavPropFind propfind ) throws ParserConfigurationException { final TrellisRequest req = new TrellisRequest ( request , uriInfo , headers ) ; final IRI identifier = rdf . createIRI ( TRELLIS_DATA_PREFIX + req . getPath ( ) ) ; final String location = fromUri ( getBaseUrl ( req ) ) . path ( req . getPath ( ) ) . build ( ) . toString ( ) ; final Document doc = getDocument ( ) ; services . getResourceService ( ) . get ( identifier ) . thenApply ( this :: checkResource ) . thenApply ( propertiesToMultiStatus ( doc , location , propfind ) ) . thenApply ( multistatus -> status ( MULTI_STATUS ) . entity ( multistatus ) . build ( ) ) . exceptionally ( this :: handleException ) . thenApply ( response :: resume ) ; }
Get properties for a resource .