Package ch.rswk.meta.engine.rs
Class FileDownloadResource
java.lang.Object
ch.rswk.meta.engine.rs.FileDownloadResource
FileDownloadResource provides a REST-like API to download files.
Delegates to FileService.downloadAndReceive(Executor, AtomicInteger, Consumer, DownloadRequest, Function, long, TemporalUnit)
.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private final FileService
private static final org.slf4j.Logger
private final org.eclipse.jetty.util.thread.QueuedThreadPool
private final UserService
-
Constructor Summary
ConstructorsConstructorDescriptionFileDownloadResource
(FileService fileService, org.eclipse.jetty.util.thread.QueuedThreadPool threadPool, UserService userService) -
Method Summary
Modifier and TypeMethodDescriptionvoid
download
(jakarta.ws.rs.container.AsyncResponse async, jakarta.ws.rs.core.HttpHeaders headers, String key, jakarta.servlet.http.HttpServletRequest request, int timeout) void
download
(jakarta.ws.rs.container.AsyncResponse async, String fileName, jakarta.ws.rs.core.HttpHeaders headers, String key, jakarta.servlet.http.HttpServletRequest request, int timeout, String token) private void
processDownload
(jakarta.ws.rs.container.AsyncResponse async, jakarta.ws.rs.core.HttpHeaders headers, String key, jakarta.servlet.http.HttpServletRequest request, int timeout, @Nullable String token)
-
Field Details
-
LOG
private static final org.slf4j.Logger LOG -
DEFAULT_TIMEOUT
private static final int DEFAULT_TIMEOUT- See Also:
-
fileService
-
threadPool
private final org.eclipse.jetty.util.thread.QueuedThreadPool threadPool -
userService
-
-
Constructor Details
-
FileDownloadResource
@Inject public FileDownloadResource(FileService fileService, org.eclipse.jetty.util.thread.QueuedThreadPool threadPool, UserService userService)
-
-
Method Details
-
download
@Path("/{key}") @GET @Produces("application/octet-stream") public void download(@Suspended jakarta.ws.rs.container.AsyncResponse async, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("key") String key, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("timeout") int timeout) -
download
@Path("/{key}/{fileName}") @GET @Produces("application/octet-stream") public void download(@Suspended jakarta.ws.rs.container.AsyncResponse async, @PathParam("fileName") String fileName, @Context jakarta.ws.rs.core.HttpHeaders headers, @PathParam("key") String key, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("timeout") int timeout, @QueryParam("token") String token) -
processDownload
-