From a948713fc4628533ce54a4d3fd25a2aa6321eec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sun, 19 Apr 2026 09:55:08 +0100 Subject: [PATCH] InternetUtils: Honor content-type header --- .../gadgetbridge/util/InternetUtils.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/InternetUtils.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/InternetUtils.kt index 54ae77165a..ccd8e9b632 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/InternetUtils.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/InternetUtils.kt @@ -172,7 +172,8 @@ class InternetUtils { // Convert body string to RequestBody if allowed val requestBody: RequestBody? = if (body != null && method.uppercase() !in listOf("GET", "HEAD")) { - body.toRequestBody("application/octet-stream".toMediaType()) + val contentType = getHeader(requestHeaders, "content-type") ?: "application/octet-stream" + body.toRequestBody(contentType.toMediaType()) } else null // Configure HTTP method @@ -226,6 +227,16 @@ class InternetUtils { return result } + private fun getHeader(headers: Map, key: String): String? { + for (e in headers) { + if (e.key.equals(key, ignoreCase = true)) { + return e.value + } + } + + return null + } + /** * Creates an OkHttpClient that accepts all SSL certificates (insecure). */