Add support for loading from file:// URIs

This commit is contained in:
comp500 2020-05-08 22:57:03 +01:00
parent b413371306
commit 4b3c279e71
2 changed files with 21 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package link.infra.packwiz.installer.request package link.infra.packwiz.installer.request
import link.infra.packwiz.installer.metadata.SpaceSafeURI import link.infra.packwiz.installer.metadata.SpaceSafeURI
import link.infra.packwiz.installer.request.handlers.RequestHandlerFile
import link.infra.packwiz.installer.request.handlers.RequestHandlerGithub import link.infra.packwiz.installer.request.handlers.RequestHandlerGithub
import link.infra.packwiz.installer.request.handlers.RequestHandlerHTTP import link.infra.packwiz.installer.request.handlers.RequestHandlerHTTP
import okio.Source import okio.Source
@ -9,7 +10,8 @@ object HandlerManager {
private val handlers: List<IRequestHandler> = listOf( private val handlers: List<IRequestHandler> = listOf(
RequestHandlerGithub(), RequestHandlerGithub(),
RequestHandlerHTTP() RequestHandlerHTTP(),
RequestHandlerFile()
) )
@JvmStatic @JvmStatic

View File

@ -0,0 +1,18 @@
package link.infra.packwiz.installer.request.handlers
import link.infra.packwiz.installer.metadata.SpaceSafeURI
import link.infra.packwiz.installer.request.IRequestHandler
import okio.Source
import okio.source
import java.nio.file.Paths
open class RequestHandlerFile : IRequestHandler {
override fun matchesHandler(loc: SpaceSafeURI): Boolean {
return "file" == loc.scheme
}
override fun getFileSource(loc: SpaceSafeURI): Source? {
val path = Paths.get(loc.toURL().toURI())
return path.source()
}
}