Size: a a a

Kotlin Community

2020 September 09

VP

Vladimir Petrakovich in Kotlin Community
А, ну так уберите версию, как он просит)
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladimir Petrakovich
А, ну так уберите версию, как он просит)
я прочитал да)
источник

с#

саша сок #KotlinGang... in Kotlin Community
жесть почему я раньше не мог это сделать
источник

AH

Ayrat Hudaygulov in Kotlin Community
Нужна помощь знатоков Ktor

как при стриминге данных при ошибке ответить НЕ 200?)
источник

AH

Ayrat Hudaygulov in Kotlin Community
call.respond кидает ошибку в лицо
call.response.status(…) просто ничего не делает
источник

AH

Ayrat Hudaygulov in Kotlin Community
вот эта штука выше отвечает
200 def (def это три байта 100, 101, 102)
источник

VP

Vladimir Petrakovich in Kotlin Community
Ayrat Hudaygulov
Нужна помощь знатоков Ktor

как при стриминге данных при ошибке ответить НЕ 200?)
После начала отправки тела вы статус никак не смените
источник

AH

Ayrat Hudaygulov in Kotlin Community
Vladimir Petrakovich
После начала отправки тела вы статус никак не смените
Понимаю. Есть воркераунды?)
источник

VP

Vladimir Petrakovich in Kotlin Community
Но вылет исключения, мне кажется, должен оборвать соединение или поток http/2
источник

VP

Vladimir Petrakovich in Kotlin Community
Но это не точно
источник

AH

Ayrat Hudaygulov in Kotlin Community
да там просто тело это csv, оно вполне может быть malformed, никто и не заметит что им шляпа прилетела
источник

VP

Vladimir Petrakovich in Kotlin Community
Ayrat Hudaygulov
да там просто тело это csv, оно вполне может быть malformed, никто и не заметит что им шляпа прилетела
Если тело ответа внезапно обрывается, должны заметить
источник

AH

Ayrat Hudaygulov in Kotlin Community
Хм. Надо попробовать
источник

VP

Vladimir Petrakovich in Kotlin Community
Тут, конечно, от клиента тоже зависит, но мне кажется, это должно так работать
источник

AZ

Alexander Zalutskiy in Kotlin Community
Подготовьте данные, а потом уже открывайте стрим. Обрывать ответ не очень хорошая практика
источник

AH

Ayrat Hudaygulov in Kotlin Community
ой, там гигабайты
источник

VP

Vladimir Petrakovich in Kotlin Community
Ayrat Hudaygulov
ой, там гигабайты
Если размер известен заранее, то лучше сразу content-length указать. Тогда клиент точно заметит обрыв)
источник

AH

Ayrat Hudaygulov in Kotlin Community
не, не известен. Читается пагинацией с кластера кассандры и так же стримингом отдаётся клиенту. Даже кластер кассандры не знает сколько там записей, т.к. select count(*) гарантированно ляжет с таймаутом)
источник

AH

Ayrat Hudaygulov in Kotlin Community
И вот вопрос как уведомить клиента что ему прилетели не полные данные в случае ошибки. Пока что на ум приходит только алёрт на почту, которую читать из хедеров -_-
источник

VP

Vladimir Petrakovich in Kotlin Community
Ну так тоже норм, для этого transfer-encoding: chunked и существует)
источник