Oleg
akka-http
Oleg
пять параметров
Loyd
конкретнее
Oleg
конкретнее
akka-http scala api
Loyd
akka-http scala api
ссылочку
Loyd
я нагуглил доку и хз что там
Loyd
И о каком объекте ты
Oleg
И о каком объекте ты
http://doc.akka.io/api/akka-http/10.0.9/akka/http/scaladsl/model/HttpRequest$.html#apply(method:akka.http.scaladsl.model.HttpMethod,uri:akka.http.scaladsl.model.Uri,headers:scala.collection.immutable.Seq[akka.http.scaladsl.model.HttpHeader],entity:akka.http.scaladsl.model.RequestEntity,protocol:akka.http.scaladsl.model.HttpProtocol):akka.http.scaladsl.model.HttpRequest
Sherzod
Вот это урл!
Loyd
Охренеть, функция на пять параметров
Loyd
заголовки по частям выставлять нельзя, сразу всё нужно
Loyd
Тело где выставлять?^W^W^W entity
Oleg
http://doc.akka.io/api/akka-http/10.0.9/akka/http/scaladsl/model/RequestEntity.html
Loyd
В скале можно пропускать необязательные параметры?
Oleg
да
Loyd
Там Seq принимается
Loyd
То есть нельзя свой объект попропускать по функциям мидлварам и потом отправить
Oleg
Там Seq принимается
http://doc.akka.io/api/akka-http/10.0.9/akka/http/scaladsl/model/HttpRequest.html#addHeader(header:akka.http.javadsl.model.HttpHeader):HttpMessage.this.Self
Loo
дефолтная инициализация структур + апдейт синтаксис решают
Loyd
О, ну вот. Та же самая свалка из 100500 конструкторов
Loo
гарантируют валидность всего этого говна
Loo
на этапе компиляции
Loyd
Только вот 100500 конструкторов вместо одного билдера
Loo
без написания кучи доп кода
Loyd
10/10
Oleg
О, ну вот. Та же самая свалка из 100500 конструкторов
только нет промежуточного стейтфул билдера
Loyd
гарантируют валидность всего этого говна
Нет, валидность гарантируют проверки в билдере
Oleg
просто иммьютебл объект с апдейтами
Loyd
На этапе компиляции если хочешь, что билдер параметризуется
Loo
тут наверное от задачи надо прыгать и ситуации
Loyd
Каким-то сессионным типом, например
Loyd
только нет промежуточного стейтфул билдера
Каждый вызов метода билдера может возвращать новый билдер
Loyd
А сам он иммутабельный
Oleg
Каждый вызов метода билдера может возвращать новый билдер
но зачем, если можно сделать нормальный объект сразу
Oleg
конструктор один
Loyd
Ладно, это явно вброс
Loo
мне кажется я не понимаю
Oleg
это не конструкторы
Loyd
это не конструкторы
Ну значит методы, которые настраивают объект уже после создания
Oleg
слив защитан, я поехал
Loyd
Кто гарантирует, что они не будут вызваны после того, как будут отправлены заголовки?
Loyd
слив защитан, я поехал
Ну твой слив я уже засчитал
Loyd
Причём в который раз и не только я, лол
Loyd
мне кажется я не понимаю
Что именно? Почему default тебе ничего не гарантирует и проверять так ничего нельзя или что?
Loo
про 100500 конструкторов
VCL
Почему не i8? let mut x = (1, 2); // x: (i32, i32) let y = (2, 3); // y: (i32, i32)
Loyd
про 100500 конструкторов
Ну не конструкторы там, а методы, окей. Тут ещё больше вопросов: мы обсуждаем как сконструировать объект, приходит петух и начинает про то, как конфигруировать
Loyd
У такой конфигурации куча вопросов
Loyd
Дальше, про эти with*. Часть возвращает HttpRequest, новый, часть Self
Loyd
слив защитан, я поехал
То есть отвечать на вопросы не будешь?
Loyd
Ах да, ты же петух, совсем забыл
Nikita
Культура!
Filipp
Почему не i8? let mut x = (1, 2); // x: (i32, i32) let y = (2, 3); // y: (i32, i32)
так решили по-дефолту, в книге где-то написано почему
Loyd
Почему не i8? let mut x = (1, 2); // x: (i32, i32) let y = (2, 3); // y: (i32, i32)
Потому что i32 дефолтный тип для <integer>, ибо наиболее часто используемый
Loyd
Но если компилятор увидит, что на самом деле нужен другой i*, то будет трактовать как нужный
VCL
А вот это слегка разочаровало
VCL
fn main() { let a = [0, 1, 2, 3, 4, 5, 6, 7]; let middle = &a[3..4]; let (c, b) = (middle[0], middle[1]); println!("Hello, world! {} {}", c, b); }
VCL
runtime error
VCL
а не compile time
Loyd
compile time проверки тут даже делать довольно глупо: слишком редкий кейс
Loyd
Почти всегда у тебя слайс от чего-то, размер чего определяетя в рантайме
VCL
Хотя, тут явный error гораздо лучше, чем неопределённое поведение из C/C++
Filipp
но странно, слайс имеет один элемент, я где-то видел ворнинг что типа это упадет в рантайме
Loyd
Может уже есть (или будет) такая проверка в clippy
Filipp
может линтер подсказывал какой-то
Filipp
клиппи молчит
Filipp
rustc только в простом случае подсказывает:
Filipp
Alex
почему?
Alex
забавно, я вроде как даже знаю этот комикс
LexsZero
херня, не избавит. а вот при насморке помогает.
Мерль
Извините, не туда