Ilya
а вот хеадеры https://github.com/dotnet/aspnetcore/blob/77fe36f069c89381caba274784902ff0f248fe57/src/Servers/Kestrel/shared/KnownHeaders.cs
ёба, я ж тебе образец того как надо написать кинул, а не угорать
Ilya
Поздно.
Roman
нет, ну вы посмотрите в этот пиздец
поддерживать наверное легко
Roman
сишарп уверенно движется в сторону stringly typed language
Ilya
Сишарп, ага.
Vasily
Это старый боян
Vasily
Про хедеры
Vasily
Их перформанс давно дрочат
Roman
ёба, я ж тебе образец того как надо написать кинул, а не угорать
ну так смешно ж. Ну то есть грустно, но смешно
Ayrat
ёба, я ж тебе образец того как надо написать кинул, а не угорать
но я хз. Конечно у меня перф критикал приложение, но мне даже как-то стыдно такое писать
Roman
а если ты запихал ебанько строку в сорсгенератор, то оно в рантайме стреляет же, да?
Ilya
Если скомпилилось.
Ilya
Ну строка компилируется же. Если скомпилировалась, то уже в рантайме.
Ayrat
я не уверен что это сорс генераторы кстати
Roman
а что проверяет компилятор, если мы, например, динамически собираем строку?
Ayrat
но да, это должно чекаться в компайл тайме
Ilya
Это не сорс генератор. Это https://github.com/dotnet/aspnetcore/tree/b795ac3546eb3e2f47a01a64feb3020794ca33bb/src/Servers/Kestrel/tools/CodeGenerator
Roman
ааааа лол
Ilya
ну он компиле таймовский же?
конечно, сорс генератор, когда это ещё не было мейнстримом
Ilya
видишь откуда ноги то растут?
Roman
Ayrat
видишь откуда ноги то растут?
все конченые фичи из желания стать первым в течемпавер PLAIN TEXT
Ilya
из жопы, как всегда!
это тебе не типы ебать, это байты!
Roman
это тебе не типы ебать, это байты!
вот. А надо вола ебать, а не типы с байтами
Anatoly
Я продолжу задавать идиотские вопросы
Anatoly
Есть вот такая функция EmailRequest -> Task<string>
Anatoly
let webApp = choose [ GET >=> choose [ route "/" >=> (index() |> htmlView) ] POST >=> choose [ route "/mail" >=> tryBindForm<EmailRequest> parsingErrorHandler None (fun er -> text(testMail(er))) ] RequestErrors.notFound (text "Not Found") ]
Anatoly
есть вот такой жираф маппинг
Anatoly
ну и очевидно не компилируется, потому что text хендлер ожидает string, а не Task<string>. Вопрос: как получить результат из функции? неужто, .Result?
Vladimir
не надо использовать text, надо свой хэндлер писать с таскбилдером, сча пример покажу
Vladimir
ну вот например https://github.com/Lanayx/fsharp-ukraine-2020/blob/master/src/KievConf/Program.fs#L107-L120
Anatoly
посмотри пример, я тебе скидывал вчера там просто надо развернуть функцию чтобы она стала валидным HttpHandler
я посмотрел, я не хочу в функцию с "логикой" тащить жираф. Считай это упражнением.
Anatoly
то есть, твой пример работает, фигня вопрос =)
Vladimir
так функция с логикой пусть остается функцией с логикой, в хэндлере тебе своем нужно таск вернуть, делаешь таскбилдер, получаешь нужную строку, в конце пишешь return! text "abcd" next ctx
Vladimir
let testMailHandler er next (ctx: HttpContext) = task { let! resultString = testMail(er) return! text resultString next ctx }
Anatoly
хм
Ayrat
Ну да
Ayrat
Второй день адвента и правда скучноватый
Ayrat
щас слушаю митинг про azure profiler и там чувак с ядренейшим рязанским акцентом называет Azure эйжурЕ с ударением на последний слок
Ayrat
тяжело идет
Mark
Как пишется, так и читается!!!
Mark
Энвиронмент
Ayrat
Мож французский?
не, он йопта русский
Ayrat
зис ыс екчуали эйжурЕ профилер йопта
Hog
Эйжуре ты моё эйжуре...
Ayrat
он через слово вставляет экчуали
Ayrat
паразит!
Hog
Рили?
Ayrat
Рили?
рили экчуали
Nikolay
А у нас можно SRTP прикрутить к существующим типам, например к int?
Ayrat
(но вообще можно)
Nikolay
Добавить static member для инта
Nikolay
Очень надо!
Ayrat
добавь
Ayrat
а вот станут ли они видимы для сртп
Ayrat
это ты там сам!!11
Nikolay
добавь
Я не могу придумать как
Nikolay
type int = int static member
Nikolay
Не пашет
Ayrat
Ну ты Вася, Николай
Nikolay
Оп
Nikolay
Ну ты Вася, Николай
Вася старый и женатый
Nikolay
А я молодой
Nikolay
и неженатый
Vladimir
башкизм!
Hog
Эйжуризм
Igor
или я всё пропустил?
Hog
Чьей жене?
Hog
Васиной?
Ilya
де икаса знает про авалонию)