Class WebdavEndPointTokenDocumentController

java.lang.Object
io.jmix.webdavrest.controller.WebdavEndPointTokenDocumentController

@Controller @RequestMapping({"/webdav/{sessionToken}/document/{resourceId}/{resourceName:.+}","/webdav/{sessionToken}/document/{resourceId}"}) public class WebdavEndPointTokenDocumentController extends Object
This controller is specific for cookie method of external document editor authentication. It handles requests with session token, exclude it (it's required on security level only) and proceeds with a pure resource URI the same way as the original WebdavEndPointDocumentController.
  • Field Details

    • webApplicationContext

      protected org.springframework.web.context.WebApplicationContext webApplicationContext
    • documentVersionsService

      protected WebdavDocumentVersionsManagementService documentVersionsService
  • Constructor Details

    • WebdavEndPointTokenDocumentController

      public WebdavEndPointTokenDocumentController(org.springframework.web.context.WebApplicationContext webApplicationContext, WebdavDocumentVersionsManagementService documentVersionsService)
  • Method Details

    • getResourceUri

      @ModelAttribute("resourceUri") public ResourceUri getResourceUri(jakarta.servlet.http.HttpServletRequest request)
    • getResourceName

      @ModelAttribute("resourceName") public ResourceName getResourceName(@PathVariable(required=false) String resourceName)
    • retrieveOptions

      @OptionsMapping public void retrieveOptions(@PathVariable UUID resourceId, @ModelAttribute ResourceName resourceName, jakarta.servlet.http.HttpServletResponse response)
    • retrieveMetadata

      @PropFindMapping public org.springframework.http.ResponseEntity<PropFindMultipleResponseObject> retrieveMetadata(@ModelAttribute ResourceUri resourceUri, @PathVariable UUID resourceId, @ModelAttribute ResourceName resourceName, @RequestBody PropFindPropertiesList requestProperties)
    • retrieveResource

      @GetMapping public org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> retrieveResource(@PathVariable UUID resourceId, @RequestHeader(name="If-None-Match",required=false) String ifNoneMatchHeader, @ModelAttribute ResourceName resourceName)
    • lockResource

      @LockMapping public org.springframework.http.ResponseEntity<LockInfoWithResourceUri> lockResource(@ModelAttribute ResourceUri resourceUri, @PathVariable UUID resourceId, @RequestHeader(name="If",required=false) String headerIf, @RequestBody(required=false) LockRequestPredicate lockRequestPredicate)
    • unlockResource

      @UnLockMapping public org.springframework.http.ResponseEntity<Void> unlockResource(@PathVariable UUID resourceId, @RequestHeader(name="Lock-Token") String lockTokenHeader)
    • updateResource

      @PutMapping public void updateResource(@PathVariable UUID resourceId, @PathVariable String resourceName, InputStream requestBody, jakarta.servlet.http.HttpServletResponse response)
    • withWebContextBean

      protected <T, R> R withWebContextBean(Class<T> beanClass, Function<? super T,? extends R> applier)