juan_gandhi: (Default)
[personal profile] juan_gandhi
Сегодня трахался с одной фигней. И вот код ходит куда-то на сервер, а приносит в ответ "неправильный json". Шо за json, я ничего такого не посылаю. А ошибка приходит. Стал изучать вопрос. А чо он неправильный, а там http4s берет какой-то Message[T], пытается из него сделать ByteBuffer, и обламывется, т.к. ByteBuffer оказывается пустой. Из чего он делается - Message состоит из каких-то Fragments; и вот один фрагмент пустой.

Что за фрагмент, чо он пустой, непонятно, но внутри его сидит SingleChunk, в котором сидит Chunk, и про него известно, что он пустой. Ну окей, ну покажите мне, что было-то. А не показывают. Там, конечно, цикл, но цикл навалян через рекурсию (типа так круче), а рекурсия оптимизирована через трамплин. В результате стектрейса нету, промежуточные данные не видны, Message не виден, потому что это макрос. А откуда вызвали, тоже непонятно, потому что трамплин, и весь стектрейс проебан.

И вот каким-то чудесным образом я где-то замечаю, что сервер-то послал HTTP 400. Ну правильно. И, конечно, в таком случае никакого джейсона. Но http4s на это все кладет с высокой колокольни, и начинает "парсить джейсон".

Ну на эту тему даже тест есть. Только этот тест не ловит HTTP 400, а ловит ошибку. Ага, ошибка! Ура. 

Такие дела.
 

А внутри cats, свободные монады, IO монада, завернутая в EitherT. 

А смысл?! Если HTTP 400 вы не ловите.

Что-то после раста все это смешно выглядит.

 

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 2345 6 7
8 9 10 11 121314
15161718 1920 21
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 26th, 2025 02:10 am
Powered by Dreamwidth Studios