Class ApacheHttpDownloader

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.spongepowered.gradle.vanilla.resolver.Downloader

    public final class ApacheHttpDownloader
    extends java.lang.Object
    implements java.lang.AutoCloseable, org.spongepowered.gradle.vanilla.resolver.Downloader
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.spongepowered.gradle.vanilla.resolver.Downloader

        org.spongepowered.gradle.vanilla.resolver.Downloader.ResolveMode
    • Constructor Summary

      Constructors 
      Constructor Description
      ApacheHttpDownloader​(java.util.concurrent.Executor asyncExecutor, java.nio.file.Path baseDirectory, org.spongepowered.gradle.vanilla.resolver.Downloader.ResolveMode resolveMode)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.nio.file.Path baseDir()  
      org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient client()  
      void close()  
      java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.nio.file.Path>> download​(java.net.URL source, java.lang.String destination)  
      java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.nio.file.Path>> downloadAndValidate​(java.net.URL source, java.lang.String destination, org.spongepowered.gradle.vanilla.resolver.HashAlgorithm algorithm, java.lang.String hash)  
      java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<byte[]>> readBytes​(java.net.URL source, java.lang.String relativePath)  
      java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<byte[]>> readBytesAndValidate​(java.net.URL source, java.lang.String relativePath, org.spongepowered.gradle.vanilla.resolver.HashAlgorithm algorithm, java.lang.String hash)  
      java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.lang.String>> readString​(java.net.URL source, java.lang.String relativePath)  
      java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.lang.String>> readStringAndValidate​(java.net.URL source, java.lang.String relativePath, org.spongepowered.gradle.vanilla.resolver.HashAlgorithm algorithm, java.lang.String hash)  
      static ApacheHttpDownloader uncached​(java.util.concurrent.Executor asyncExecutor)
      Create a downloader that does not cache.
      org.spongepowered.gradle.vanilla.resolver.Downloader withBaseDir​(java.nio.file.Path override)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

    • Constructor Detail

      • ApacheHttpDownloader

        public ApacheHttpDownloader​(java.util.concurrent.Executor asyncExecutor,
                                    java.nio.file.Path baseDirectory,
                                    org.spongepowered.gradle.vanilla.resolver.Downloader.ResolveMode resolveMode)
    • Method Detail

      • uncached

        public static ApacheHttpDownloader uncached​(java.util.concurrent.Executor asyncExecutor)
        Create a downloader that does not cache.

        The downloader's resolveMode is always Downloader.ResolveMode.REMOTE_ONLY.

        Parameters:
        asyncExecutor - the executor to execute on.
        Returns:
        a new downloader
      • client

        public org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient client()
      • baseDir

        public java.nio.file.Path baseDir()
        Specified by:
        baseDir in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • withBaseDir

        public org.spongepowered.gradle.vanilla.resolver.Downloader withBaseDir​(java.nio.file.Path override)
        Specified by:
        withBaseDir in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • readString

        public java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.lang.String>> readString​(java.net.URL source,
                                                                                                                                               java.lang.String relativePath)
        Specified by:
        readString in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • readStringAndValidate

        public java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.lang.String>> readStringAndValidate​(java.net.URL source,
                                                                                                                                                          java.lang.String relativePath,
                                                                                                                                                          org.spongepowered.gradle.vanilla.resolver.HashAlgorithm algorithm,
                                                                                                                                                          java.lang.String hash)
        Specified by:
        readStringAndValidate in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • readBytes

        public java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<byte[]>> readBytes​(java.net.URL source,
                                                                                                                                    java.lang.String relativePath)
        Specified by:
        readBytes in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • readBytesAndValidate

        public java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<byte[]>> readBytesAndValidate​(java.net.URL source,
                                                                                                                                               java.lang.String relativePath,
                                                                                                                                               org.spongepowered.gradle.vanilla.resolver.HashAlgorithm algorithm,
                                                                                                                                               java.lang.String hash)
        Specified by:
        readBytesAndValidate in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • download

        public java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.nio.file.Path>> download​(java.net.URL source,
                                                                                                                                               java.lang.String destination)
        Specified by:
        download in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • downloadAndValidate

        public java.util.concurrent.CompletableFuture<org.spongepowered.gradle.vanilla.resolver.ResolutionResult<java.nio.file.Path>> downloadAndValidate​(java.net.URL source,
                                                                                                                                                          java.lang.String destination,
                                                                                                                                                          org.spongepowered.gradle.vanilla.resolver.HashAlgorithm algorithm,
                                                                                                                                                          java.lang.String hash)
        Specified by:
        downloadAndValidate in interface org.spongepowered.gradle.vanilla.resolver.Downloader
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface org.spongepowered.gradle.vanilla.resolver.Downloader