Skip to content

Commit a0133bb

Browse files
committed
Move to new image proxy
1 parent d03754e commit a0133bb

4 files changed

Lines changed: 44 additions & 13 deletions

File tree

library/src/main/kotlin/me/proxer/library/util/ProxerUrls.kt

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,7 @@ object ProxerUrls {
5858
*/
5959
val proxyBase: HttpUrl = HttpUrl.Builder()
6060
.scheme("https")
61-
.host("prxr.me")
62-
.addPathSegment("img")
63-
.addPathSegment("")
61+
.host("proxy.proxer.me")
6462
.build()
6563

6664
/**
@@ -98,19 +96,18 @@ object ProxerUrls {
9896
/**
9997
* Returns the link to the image behind the proxy.
10098
*/
101-
fun proxyImage(url: HttpUrl): HttpUrl {
99+
fun proxyImage(url: String): HttpUrl {
102100
return proxyBase.newBuilder()
103-
.addQueryParameter("url", url.toString())
101+
.addPathSegment("index.php")
102+
.addQueryParameter("url", url)
104103
.build()
105104
}
106105

107106
/**
108107
* Returns the link to the image behind the proxy.
109108
*/
110-
fun proxyImage(url: String): HttpUrl {
111-
return proxyBase.newBuilder()
112-
.addQueryParameter("url", url)
113-
.build()
109+
fun proxyImage(url: HttpUrl): HttpUrl {
110+
return ProxerUrls.proxyImage(url.toString())
114111
}
115112

116113
/**
@@ -304,7 +301,8 @@ object ProxerUrls {
304301
* Returns if the passed url has a valid host of proxer.
305302
*/
306303
fun hasProxerHost(url: HttpUrl): Boolean {
307-
return hasProxerWebOrCdnOrStreamHost(url) || hasProxerStreamFileHost(url) || hasProxerMangaHost(url)
304+
return hasProxerWebOrCdnOrStreamHost(url) || hasProxerStreamFileHost(url) || hasProxerMangaHost(url) ||
305+
hasProxerProxyHost(url)
308306
}
309307

310308
/**
@@ -327,4 +325,11 @@ object ProxerUrls {
327325
fun hasProxerMangaHost(url: HttpUrl): Boolean {
328326
return PROXER_MANGA_HOST_PATTERN.matches(url.host())
329327
}
328+
329+
/**
330+
* Returns if the passed url has a valid proxer image proxy host.
331+
*/
332+
fun hasProxerProxyHost(url: HttpUrl): Boolean {
333+
return url.host() == proxyBase.host()
334+
}
330335
}

library/src/test/kotlin/me/proxer/library/internal/interceptor/HeaderInterceptorTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,19 @@ class HeaderInterceptorTest : ProxerTest() {
9595
assertThat(requestCaptor.value.header("User-Agent").toString()).isEqualTo("mock-user-agent")
9696
}
9797

98+
@Test
99+
fun testCorrectHeadersForProxy() {
100+
val requestCaptor = ArgumentCaptor.forClass(Request::class.java)
101+
102+
`when`(chain.request()).thenReturn(Request.Builder().url("https://proxy.proxer.me").build())
103+
`when`(chain.proceed(notNull())).thenReturn(mock(Response::class.java))
104+
105+
interceptor.intercept(chain)
106+
107+
verify(chain).proceed(requestCaptor.capture())
108+
assertThat(requestCaptor.value.header("User-Agent").toString()).isEqualTo("mock-user-agent")
109+
}
110+
98111
@Test
99112
fun testOtherHostThrows() {
100113
`when`(chain.request()).thenReturn(Request.Builder().url("https://example.com").build())

library/src/test/kotlin/me/proxer/library/internal/interceptor/HttpsEnforcingInterceptorTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,19 @@ class HttpsEnforcingInterceptorTest {
8282
assertThat(requestCaptor.value.url().toString()).isEqualTo("https://s1-ps.proxer.me/")
8383
}
8484

85+
@Test
86+
fun testHttpsUpgradeProxy() {
87+
val requestCaptor = ArgumentCaptor.forClass(Request::class.java)
88+
89+
`when`(chain.request()).thenReturn(Request.Builder().url("http://proxy.proxer.me").build())
90+
`when`(chain.proceed(notNull())).thenReturn(mock(Response::class.java))
91+
92+
interceptor.intercept(chain)
93+
94+
verify(chain).proceed(requestCaptor.capture())
95+
assertThat(requestCaptor.value.url().toString()).isEqualTo("https://proxy.proxer.me/")
96+
}
97+
8598
@Test
8699
fun testHttpsUntouched() {
87100
val requestCaptor = ArgumentCaptor.forClass(Request::class.java)

library/src/test/kotlin/me/proxer/library/util/ProxerUrlsTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ class ProxerUrlsTest {
4848
@Test
4949
fun testProxyImage() {
5050
assertThat(ProxerUrls.proxyImage(HttpUrl.get("https://example.com/image.png")).toString())
51-
.isEqualTo("https://prxr.me/img/?url=https%3A%2F%2Fexample.com%2Fimage.png")
51+
.isEqualTo("https://proxy.proxer.me/index.php?url=https%3A%2F%2Fexample.com%2Fimage.png")
5252
}
5353

5454
@Test
5555
fun testProxyImageString() {
5656
assertThat(ProxerUrls.proxyImage("https://example.com/image.png").toString())
57-
.isEqualTo("https://prxr.me/img/?url=https%3A%2F%2Fexample.com%2Fimage.png")
57+
.isEqualTo("https://proxy.proxer.me/index.php?url=https%3A%2F%2Fexample.com%2Fimage.png")
5858
}
5959

6060
@Test
@@ -211,7 +211,7 @@ class ProxerUrlsTest {
211211

212212
@Test
213213
fun testHasProxerHostProxy() {
214-
assertThat(ProxerUrls.hasProxerHost(HttpUrl.get("https://prxr.me/test"))).isFalse()
214+
assertThat(ProxerUrls.hasProxerHost(HttpUrl.get("https://proxy.proxer.me/index.php?url=test"))).isTrue()
215215
}
216216

217217
@Test

0 commit comments

Comments
 (0)