Я пытаюсь преобразовать много кода Java в Kotlin.
Я нашел в стеке, как установить аутентификацию с помощью OkHttp:
client.authenticator(new Authenticator() {
@Override
public Request authenticate(Route route, Response response) throws IOException {
if (responseCount(response) >= 3) {
return null; // If we've failed 3 times, give up. - in real life, never give up!!
}
String credential = Credentials.basic("name", "password");
return response.request().newBuilder().header("Authorization", credential).build();
}
});
Это выглядит просто, но AndroidStudio переводит это неправильно, что-то вроде:
client.authenticator(Authenticator { route, response ->
if (responseCount(response) >= 3) {
return@Authenticator null // If we've failed 3 times, give up. - in real life, never give up!!
}
val credential = Credentials.basic("name", "password")
response.request().newBuilder().header("Authorization", credential).build()
})
и яполучить ошибку "слишком много аргументов для публичного открытого веселья Authenticator ()"
Что здесь не так?Как это исправить?На мой взгляд, в Котлине это должно выглядеть иначе.