♻️ Add freenet client interface
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / freenet / FreenetClient.kt
1 package net.pterodactylus.sone.freenet
2
3 import freenet.client.*
4 import freenet.keys.*
5
6 /**
7  * Facade for Freenet’s [freenet.client.HighLevelSimpleClient] to allow testing.
8  */
9 interface FreenetClient {
10
11         fun fetch(freenetKey: FreenetURI): FetchResult
12
13 }
14
15 class DefaultFreenetClient(private val highLevelSimpleClient: HighLevelSimpleClient) : FreenetClient {
16
17         override fun fetch(freenetKey: FreenetURI): FetchResult =
18                         highLevelSimpleClient.fetch(freenetKey)
19
20 }