Skip to content

Commit

Permalink
Use CloudFlare cookie to request leftypol boards.
Browse files Browse the repository at this point in the history
  • Loading branch information
K1rakishou committed Mar 7, 2024
1 parent fa30f7e commit da09b44
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,6 @@ public BookmarksManager provideBookmarksManager(
applicationVisibilityManager,
archivesManager,
bookmarksRepository,
SiteRegistry.INSTANCE,
currentOpenedDescriptorStateManager
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,12 @@ abstract class SiteRequestModifier<T : Site>(
addCloudFlareCookie(requestBuilder)
}

@CallSuper
open fun modifyBoardsGetRequest(requestBuilder: Request.Builder) {
requestBuilder.addDefaultHeaders(appConstants)
addCloudFlareCookie(requestBuilder)
}

private fun addCloudFlareCookie(requestBuilder: Request.Builder) {
val domainOrHost = requestBuilder.build().url.let { url -> url.domain() ?: url.host }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,13 @@ class Dvach : CommonSite() {
addUserCodeCookie(site, requestBuilder)
}

override fun modifyBoardsGetRequest(requestBuilder: Request.Builder) {
super.modifyBoardsGetRequest(requestBuilder)

addAntiSpamCookie(requestBuilder)
addUserCodeCookie(site, requestBuilder)
}

private fun addUserCodeCookie(
site: Dvach,
requestBuilder: Request.Builder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,25 @@ import com.github.k1rakishou.model.data.site.SiteBoards
import dagger.Lazy
import okhttp3.Request

class LeftypolActions(commonSite: CommonSite, proxiedOkHttpClient: Lazy<RealProxiedOkHttpClient>, siteManager: SiteManager, replyManager: Lazy<ReplyManager>) : LainchanActions(commonSite, proxiedOkHttpClient, siteManager, replyManager) {
class LeftypolActions(
commonSite: CommonSite,
proxiedOkHttpClient: Lazy<RealProxiedOkHttpClient>,
siteManager: SiteManager,
replyManager: Lazy<ReplyManager>
) : LainchanActions(commonSite, proxiedOkHttpClient, siteManager, replyManager) {

override suspend fun boards(): ModularResult<SiteBoards> {
return LeftypolBoardsRequest(site.siteDescriptor(),
site.boardManager,
Request.Builder().url(site.endpoints().boards().toString()).build(),
proxiedOkHttpClient).execute()
val requestBuilder = Request.Builder()
.url(site.endpoints().boards().toString())

site.requestModifier().modifyBoardsGetRequest(requestBuilder)

return LeftypolBoardsRequest(
siteDescriptor = site.siteDescriptor(),
boardManager = site.boardManager,
request = requestBuilder.build(),
proxiedOkHttpClient = proxiedOkHttpClient
).execute()
}

override fun setupPost(replyChanDescriptor: ChanDescriptor, call: MultipartHttpCall): ModularResult<Unit> {
Expand Down

0 comments on commit da09b44

Please sign in to comment.