mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-23 03:23:17 -04:00
refactor user agent (#13775)
* refactor user agent * use `userAgent()` method to set user agent * add param `fallbackStr`
This commit is contained in:
parent
876dffe4c5
commit
9216c13df8
@ -6,6 +6,8 @@ import com.badlogic.gdx.Gdx
|
||||
import com.badlogic.gdx.Input
|
||||
import com.badlogic.gdx.Screen
|
||||
import com.badlogic.gdx.scenes.scene2d.actions.Actions
|
||||
import com.unciv.UncivGame.Companion.Current
|
||||
import com.unciv.UncivGame.Companion.isCurrentInitialized
|
||||
import com.unciv.logic.GameInfo
|
||||
import com.unciv.logic.IsPartOfGameInfoSerialization
|
||||
import com.unciv.logic.UncivShowableException
|
||||
@ -504,6 +506,11 @@ open class UncivGame(val isConsoleMode: Boolean = false) : Game(), PlatformSpeci
|
||||
@Readonly fun getGameInfoOrNull() = if (isCurrentInitialized()) Current.gameInfo else null
|
||||
@Readonly fun isCurrentGame(gameId: String): Boolean = isCurrentInitialized() && Current.gameInfo != null && Current.gameInfo!!.gameId == gameId
|
||||
@Readonly fun isDeepLinkedGameLoading() = isCurrentInitialized() && Current.deepLinkedMultiplayerGame != null
|
||||
|
||||
@Readonly
|
||||
fun getUserAgent(fallbackStr: String = "Unknown"): String = if (isCurrentInitialized()) {
|
||||
"Unciv/${VERSION.toNiceString()}-GNU-Terry-Pratchett"
|
||||
} else "Unciv/$fallbackStr-GNU-Terry-Pratchett"
|
||||
}
|
||||
|
||||
data class Version(
|
||||
|
@ -4,29 +4,17 @@ import com.unciv.UncivGame
|
||||
import com.unciv.logic.UncivShowableException
|
||||
import com.unciv.utils.Concurrency
|
||||
import com.unciv.utils.Log
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.engine.cio.CIO
|
||||
import io.ktor.client.plugins.HttpSend
|
||||
import io.ktor.client.plugins.HttpTimeout
|
||||
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
|
||||
import io.ktor.client.plugins.defaultRequest
|
||||
import io.ktor.client.plugins.plugin
|
||||
import io.ktor.client.plugins.websocket.ClientWebSocketSession
|
||||
import io.ktor.client.plugins.websocket.WebSockets
|
||||
import io.ktor.client.plugins.websocket.cio.webSocketRawSession
|
||||
import io.ktor.client.request.get
|
||||
import io.ktor.http.DEFAULT_PORT
|
||||
import io.ktor.http.ParametersBuilder
|
||||
import io.ktor.http.URLBuilder
|
||||
import io.ktor.http.URLProtocol
|
||||
import io.ktor.http.Url
|
||||
import io.ktor.http.appendPathSegments
|
||||
import io.ktor.http.encodedPath
|
||||
import io.ktor.http.isSecure
|
||||
import io.ktor.http.userAgent
|
||||
import io.ktor.serialization.kotlinx.KotlinxWebsocketSerializationConverter
|
||||
import io.ktor.serialization.kotlinx.json.json
|
||||
import io.ktor.client.*
|
||||
import io.ktor.client.call.*
|
||||
import io.ktor.client.engine.cio.*
|
||||
import io.ktor.client.plugins.*
|
||||
import io.ktor.client.plugins.contentnegotiation.*
|
||||
import io.ktor.client.plugins.websocket.*
|
||||
import io.ktor.client.plugins.websocket.cio.*
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.http.*
|
||||
import io.ktor.serialization.kotlinx.*
|
||||
import io.ktor.serialization.kotlinx.json.*
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
import kotlinx.serialization.SerializationException
|
||||
@ -84,7 +72,7 @@ open class ApiV2Wrapper(baseUrl: String) {
|
||||
|
||||
init {
|
||||
client.plugin(HttpSend).intercept { request ->
|
||||
request.userAgent("Unciv/${UncivGame.VERSION.toNiceString()}-GNU-Terry-Pratchett")
|
||||
request.userAgent(UncivGame.getUserAgent("Multiplayer-v2"))
|
||||
val clientCall = try {
|
||||
execute(request)
|
||||
} catch (t: Throwable) {
|
||||
|
@ -168,6 +168,7 @@ object ChatWebSocket {
|
||||
session?.close()
|
||||
session = client.webSocketSession {
|
||||
url(getChatUrl())
|
||||
userAgent(UncivGame.getUserAgent("Chat"))
|
||||
header(
|
||||
HttpHeaders.Authorization,
|
||||
UncivGame.Current.settings.multiplayer.getAuthHeader()
|
||||
@ -191,8 +192,7 @@ object ChatWebSocket {
|
||||
is Response.Chat -> ChatStore.relayChatMessage(response)
|
||||
|
||||
is Response.Error -> ChatStore.relayGlobalMessage(
|
||||
"Error: [${response.message}]",
|
||||
"Server"
|
||||
"Error: [${response.message}]", "Server"
|
||||
)
|
||||
|
||||
is Response.JoinSuccess -> Unit // TODO
|
||||
|
@ -4,6 +4,7 @@ import com.badlogic.gdx.Net
|
||||
import com.unciv.UncivGame
|
||||
import com.unciv.utils.Log
|
||||
import com.unciv.utils.debug
|
||||
import io.ktor.http.*
|
||||
import java.io.BufferedReader
|
||||
import java.io.DataOutputStream
|
||||
import java.io.InputStreamReader
|
||||
@ -12,7 +13,6 @@ import java.net.HttpURLConnection
|
||||
import java.net.InetAddress
|
||||
import java.net.URI
|
||||
import java.net.URL
|
||||
import java.nio.charset.Charset
|
||||
|
||||
private typealias SendRequestCallback = (success: Boolean, result: String, code: Int?)->Unit
|
||||
|
||||
@ -38,11 +38,8 @@ object SimpleHttp {
|
||||
requestMethod = method // default is GET
|
||||
connectTimeout = timeout
|
||||
instanceFollowRedirects = true
|
||||
if (UncivGame.isCurrentInitialized())
|
||||
setRequestProperty("User-Agent", "Unciv/${UncivGame.VERSION.toNiceString()}-GNU-Terry-Pratchett")
|
||||
else
|
||||
setRequestProperty("User-Agent", "Unciv/Turn-Checker-GNU-Terry-Pratchett")
|
||||
setRequestProperty("Content-Type", "text/plain")
|
||||
setRequestProperty(HttpHeaders.UserAgent, UncivGame.getUserAgent("Turn-Checker"))
|
||||
setRequestProperty(HttpHeaders.ContentType, "text/plain")
|
||||
|
||||
for ((key, value) in header.orEmpty()) {
|
||||
setRequestProperty(key, value)
|
||||
|
Loading…
x
Reference in New Issue
Block a user