Size: a a a

Clojure — русскоговорящее сообщество

2020 January 28

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
берем реквест, отправляем в функцию (with-router), которая допустим вернет по докам :status и :body
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
надо понимать, что у тебя есть хэндлер _сервера_ — это одна функция, назначенная запущенному серверу
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
эти статус и тело должны попасть в хешмапу ответа
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
Sergey Trofimov
надо понимать, что у тебя есть хэндлер _сервера_ — это одна функция, назначенная запущенному серверу
да
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
надо понимать, что у тебя есть хэндлер _сервера_ — это одна функция, назначенная запущенному серверу
и если ты применяешь роутинг, то у тебя появляется куча хэндлеров соответсвенно числу роутов
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
и тот и другой хэндлер есть функция request→response
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
погоди. то есть ты хочешь сказать, что цепочка в таком случае должна быть следующей: request -> router (request) -> handler (request) -> response
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
with-router выглядит примерно так
(cond
 a (handler-a request)
 b (handler-b request)
 ...)
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
Sergey Trofimov
with-router выглядит примерно так
(cond
 a (handler-a request)
 b (handler-b request)
 ...)
это разные хендлеры? или все же один?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Сергей Суржик
погоди. то есть ты хочешь сказать, что цепочка в таком случае должна быть следующей: request -> router (request) -> handler (request) -> response
примерно
только цепочка эта делается мидлварями
и роутер обычно и есть миддлварь
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Сергей Суржик
это разные хендлеры? или все же один?
handler-a и handler-a — разные функции
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
Sergey Trofimov
примерно
только цепочка эта делается мидлварями
и роутер обычно и есть миддлварь
да. я и хочу понять как это работает в толковании с миддлвар
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
почему разные? они ведь должны делать одно и то же: возрващать определенно структурированную хешмапу
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
или нет?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Сергей Суржик
почему разные? они ведь должны делать одно и то же: возрващать определенно структурированную хешмапу
потому что содержимое мапы возвращается разное
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Сергей Суржик
почему разные? они ведь должны делать одно и то же: возрващать определенно структурированную хешмапу
они одного типа (одинаковой сигнатуры)
но физически это две разные функции в произвольных местах приложения
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
чтобы у тебя сайт на сто урлов не обрабатывался одной функцией, а ты мог структурировать свой код более гранулярно
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
можно выдыхать?
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
пока да) я попробую написать свои мысли по вышесказанному в коде)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Сергей Суржик
да. я и хочу понять как это работает в толковании с миддлвар
с мидлварями главное понять, что они «модифицируют» функцию хэндлера, а не обрабатывают запрос
источник