Коллеги, в ktor 0.9.5 у меня есть вот такой роут ...
# russian
y
Коллеги, в ktor 0.9.5 у меня есть вот такой роут
Copy code
authenticate {

	get<Issue> { issue ->
		val jira = call.principal<Jira>() ?: return@get call.respond(HttpStatusCode.Unauthorized)
		call.respond(controller.onIssue(jira, issue))
	}
}
Собственно тут мне очень не нравится эта часть
?: return@get call.respond(HttpStatusCode.Unauthorized)
, но без нее никак ибо
call.principal
возвращает nullable тип Собственно, вопрос, почему так, в смысле почему
call.principal
потенциально может вернуть null? Я ожидал, что если аутентификация не прошла, то мой роут совсем не будет вызываться, а если я буду пытаться получить principal`a на роуте без аутентификации, то будет exception и дополнительных проверок делать не надо
v
Как я понимаю null возвращается если тип авторизации не Jira, а что-то другое. Я бы в этом месте кидал ексепшен и не беспокоился