From 79ca30844699af1fcb52fa815bb27999d6666568 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Fri, 8 May 2026 09:27:38 +0800 Subject: [PATCH] feat: add independent common http client --- gradle.properties | 2 +- .../com/xuqm/sdk/network/CommonHttpClient.kt | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 sdk-core/src/main/java/com/xuqm/sdk/network/CommonHttpClient.kt diff --git a/gradle.properties b/gradle.properties index fade754..b8022ca 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,4 +2,4 @@ org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 android.useAndroidX=true kotlin.code.style=official android.nonTransitiveRClass=true -PUBLISH_VERSION=0.4.0 +PUBLISH_VERSION=0.4.1 diff --git a/sdk-core/src/main/java/com/xuqm/sdk/network/CommonHttpClient.kt b/sdk-core/src/main/java/com/xuqm/sdk/network/CommonHttpClient.kt new file mode 100644 index 0000000..516ebd7 --- /dev/null +++ b/sdk-core/src/main/java/com/xuqm/sdk/network/CommonHttpClient.kt @@ -0,0 +1,31 @@ +package com.xuqm.sdk.network + +import org.json.JSONObject +import java.io.BufferedReader +import java.io.InputStreamReader +import java.io.OutputStreamWriter +import java.net.HttpURLConnection +import java.net.URL + +object CommonHttpClient { + + fun postJson(url: String, body: String): JSONObject { + val conn = (URL(url).openConnection() as HttpURLConnection).apply { + requestMethod = "POST" + setRequestProperty("Content-Type", "application/json") + setRequestProperty("Accept", "application/json") + doOutput = true + connectTimeout = 10_000 + readTimeout = 10_000 + } + try { + OutputStreamWriter(conn.outputStream, Charsets.UTF_8).use { it.write(body) } + val code = conn.responseCode + val stream = if (code in 200..299) conn.inputStream else conn.errorStream + val text = BufferedReader(InputStreamReader(stream, Charsets.UTF_8)).use { it.readText() } + return JSONObject(text) + } finally { + conn.disconnect() + } + } +}