Этап 1: единый OkHttpClient ч.2 — 401 централизован через interceptor
- UnauthorizedInterceptor (401→UnauthorizedException) в NetworkFactory, флаг throwOnUnauthorized (по умолчанию true). - Удалены 75 ручных проверок if(code==401) throw в 16 репозиториях. - AuthVerifier (login-верификация) исключён: throwOnUnauthorized=false — 401 = 'неверный пароль' со своим сообщением, не session-expired. - Побочно: 401 теперь ловится единообразно ВЕЗДЕ (включая пути, что раньше забывали проверку). - +3 MockWebServer-теста (401 бросает; 200/403 проходят) — всего 18 тестов. Проверено: 18 тестов зелёные + assembleRelease BUILD SUCCESSFUL, APK 53 МБ.
This commit is contained in:
@@ -121,7 +121,6 @@ class MailRepository {
|
||||
.put(payload.toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful || response.body == null) {
|
||||
error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
@@ -141,7 +140,6 @@ class MailRepository {
|
||||
.delete()
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
}
|
||||
@@ -160,7 +158,6 @@ class MailRepository {
|
||||
.post(payload.toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful || response.body == null) {
|
||||
error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
@@ -178,7 +175,6 @@ class MailRepository {
|
||||
.delete()
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
}
|
||||
@@ -221,7 +217,6 @@ class MailRepository {
|
||||
.patch(payload.toString().toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful || response.body == null) {
|
||||
error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
@@ -241,7 +236,6 @@ class MailRepository {
|
||||
.put(payload.toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
}
|
||||
@@ -261,7 +255,6 @@ class MailRepository {
|
||||
.post("".toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Не удалось отправить (HTTP ${response.code})")
|
||||
}
|
||||
}
|
||||
@@ -275,7 +268,6 @@ class MailRepository {
|
||||
.delete()
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Не удалось удалить (HTTP ${response.code})")
|
||||
}
|
||||
}
|
||||
@@ -301,7 +293,6 @@ class MailRepository {
|
||||
.put(body.toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
}
|
||||
@@ -316,7 +307,6 @@ class MailRepository {
|
||||
.post("".toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Не удалось переместить (HTTP ${response.code})")
|
||||
}
|
||||
}
|
||||
@@ -337,7 +327,6 @@ class MailRepository {
|
||||
.post("".toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Не удалось отложить (HTTP ${response.code})")
|
||||
}
|
||||
}
|
||||
@@ -358,7 +347,6 @@ class MailRepository {
|
||||
}
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Не удалось изменить метку (HTTP ${response.code})")
|
||||
}
|
||||
}
|
||||
@@ -371,7 +359,6 @@ class MailRepository {
|
||||
.delete()
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) error("Mail API HTTP ${response.code}")
|
||||
}
|
||||
}
|
||||
@@ -387,7 +374,6 @@ class MailRepository {
|
||||
.header("OCS-APIRequest", "true")
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful || response.body == null) {
|
||||
error("Вложение HTTP ${response.code}")
|
||||
}
|
||||
@@ -422,7 +408,6 @@ class MailRepository {
|
||||
.post(body)
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful || response.body == null) {
|
||||
error("Не удалось загрузить вложение (HTTP ${response.code})")
|
||||
}
|
||||
@@ -478,7 +463,6 @@ class MailRepository {
|
||||
.post(payload.toString().toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
val messageId = client.newCall(createRequest).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful || response.body == null) {
|
||||
error("Не удалось создать письмо (HTTP ${response.code})")
|
||||
}
|
||||
@@ -495,7 +479,6 @@ class MailRepository {
|
||||
.post("".toRequestBody("application/json".toMediaType()))
|
||||
.build()
|
||||
client.newCall(sendRequest).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (!response.isSuccessful) {
|
||||
error("Не удалось отправить письмо (HTTP ${response.code})")
|
||||
}
|
||||
@@ -738,7 +721,6 @@ class MailRepository {
|
||||
.header("Accept", "application/json")
|
||||
.build()
|
||||
client.newCall(request).execute().use { response ->
|
||||
if (response.code == 401) throw UnauthorizedException()
|
||||
if (response.code == 412) error("Mail API: CSRF — обновите приложение")
|
||||
if (!response.isSuccessful || response.body == null) {
|
||||
error("Mail API HTTP ${response.code}")
|
||||
|
||||
Reference in New Issue
Block a user