Пишем middleware для net/http (Golang)

  Рет қаралды 13,760

Gopher School

Gopher School

5 жыл бұрын

В этом видео я расскажу, как легко создаются middleware-компоненты для HTTP-сервера на базе пакета net/http.
Мой Twitter - / atipugin
Канал в TG - t.me/someoneistyping
#golang #gopherschool

Пікірлер: 29
@MrDnovik
@MrDnovik Жыл бұрын
Спасибо! Очень хорошо и просто объясняешь.
@user-dh6ck7qw9r
@user-dh6ck7qw9r 4 жыл бұрын
Познавательно
@user-sz4uu1pg5y
@user-sz4uu1pg5y 4 жыл бұрын
Паттерн decorator :)
@vmur612
@vmur612 8 ай бұрын
Наверное стоило пояснить, что return выполняется в момент вызова HandleFunc, а вот блок func уже при выполнении запроса через браузер. Это не очевидно. Можно было бы даже сделать log перед return для наглядности.
@murad_shafii
@murad_shafii Жыл бұрын
спасибо за видео, шрифт мелковат для просмотра на 14 дюймовом ноуте )
@Drygear1
@Drygear1 4 ай бұрын
Super duper!
@taras513
@taras513 4 жыл бұрын
Молодец! Спасибо! Мало информации по го на русском! Пожалуйста, только шрифт чуть побольше сделай бро!!!! :-)
@GopherSchool
@GopherSchool 4 жыл бұрын
Спасибо!
@tilekasankulov5034
@tilekasankulov5034 4 жыл бұрын
Спасибо за уроки! Будет ли продолжение?
@GopherSchool
@GopherSchool 4 жыл бұрын
С продолжением пока сложно :(
@grandlagging0zero175
@grandlagging0zero175 3 жыл бұрын
@@GopherSchool Почему? Уроки очень классные! Пусть даже будет фигня, все равно запиши что-то...Если нужны темы, мы подкинем :3
@GopherSchool
@GopherSchool 3 жыл бұрын
@@grandlagging0zero175 если есть идеи/пожелания по темам, то так будет проще конечно)
@grandlagging0zero175
@grandlagging0zero175 3 жыл бұрын
@@GopherSchool 1. как настроить VS Code, как у тебя? Прикольнуло неравно + цветовая палитра. 2. Пожалуйста объясняй, как для не очень умных людей материал. Жестко тупил, пока смотрел context. Основной материал понимаю, но вот конкретно с ловлей ошибки, сам алгоритм нет. Возможно стоит рисовать схему программы? Объяснять по другому немного? startServer() - там было самое непонятное 3. Горутины и каналы. Хочется больше инфы 4. TCP пример простого использования, более подробно, без горутин. 5. Новый git gopher - с кодом, твоих уроков. Ссылки под уроками в репозиторий с кодом. 6. Когда используешь внешние пакеты, с гита или еще откуда, подгружай их пожалуйста прямо в процессе кодопроизводства, а не просто используй. И желательно строчку под видео, где будет ссылка и строка для установки. 7. Лучше поменять немного название табличных тестов, добавив хэштеги unit, TDD и в название видео testify 8. Как запустить тесты без vs code ide? Видео: Табличные тесты 9. k8s & golang *. Как придумаю допишу... Спасибо, что записываешь видео для нас :)
@effectic
@effectic 3 жыл бұрын
Понравилось. Спасибо.
@berdnikvladislav2652
@berdnikvladislav2652 3 жыл бұрын
Этот подход понятен. Не могу понять более важный вопрос. Как middleware может передавать payload в HandleFunc? Через глобальные, они же общие переменные, типа store, делать этого нельзя. Каждый запрос это горутина. Если 2 запроса придут примерно в одно время возникнет inteleaving по данным. Я писал свой Handler и middleware передавала payload в эту структуру. Как идиоматически решается этот вопрос?
@svnfalcon
@svnfalcon Жыл бұрын
context
@dzmitrynikitsin8591
@dzmitrynikitsin8591 4 жыл бұрын
Будут ли уроки по созданию простого блога ? Думаю желающих посмотреть будет очень много
@GopherSchool
@GopherSchool 4 жыл бұрын
Смотря что имеется ввиду под "простым блогом" :) Статика типа Hugo/Jekyll или свой вордпресс?
@dzmitrynikitsin8591
@dzmitrynikitsin8591 4 жыл бұрын
Что похоже на WordPress где будет вход , регистрация и вывод статей, деплой на хостинг . Было бы очень интересно посмотреть ибо все источники на английском .
@magzhanashirbaev9390
@magzhanashirbaev9390 2 жыл бұрын
можешь разобрать пакет gin
@mafia2mpru
@mafia2mpru 3 жыл бұрын
А как писать middleware которые должны выполнять после выполнения основной функции?
@GopherSchool
@GopherSchool 3 жыл бұрын
Все, что следует после вызова ф-ии next(...) - будет выполнятся после выполнения основного обработчика.
@aidarark5558
@aidarark5558 3 жыл бұрын
объясните, как новичку, что за next() внутри мидлвейра?
@xusravhimself9246
@xusravhimself9246 3 жыл бұрын
функция, которая должна обработать, если запрос пройдет через middleware
@gooseman5578
@gooseman5578 Жыл бұрын
а чего не раскрыл тему обработки этих самых "неавторизованных юзеров" - КАК правильно прерывать обработку и возвращать отлуп? вложенные MW тоже как выглядеть должны? не авторизован - один отлуп, авторизован, но по роли не подходит - другой отлуп
@serious_psychologist
@serious_psychologist 8 ай бұрын
ну так перед вызовом next(w, r) и делаешь это, если у тебя например страница защищенная, и без авторизации тебе не надо ее показывать, показываешь страницу login, если токен авторизации есть и он валидный, показываешь next
Тестирование HTTP-сервера в Golang
14:29
Gopher School
Рет қаралды 11 М.
Sigma Girl Past #funny #sigma #viral
00:20
CRAZY GREAPA
Рет қаралды 25 МЛН
My little bro is funny😁  @artur-boy
00:18
Andrey Grechka
Рет қаралды 7 МЛН
Вечный ДВИГАТЕЛЬ!⚙️ #shorts
00:27
Гараж 54
Рет қаралды 9 МЛН
Middleware - Golang Web Dev
8:24
Grow Adept
Рет қаралды 6 М.
Введение в gRPC: пишем клиент на Go
7:53
Gopher School
Рет қаралды 13 М.
Docker за 20 минут
21:42
suchkov tech
Рет қаралды 63 М.
REST API на Golang (Часть 6): Middleware-компоненты
35:07
Introduction to HTTP with Golang (HTTP Part 1)
32:06
Krishna Iyer
Рет қаралды 7 М.
Табличные тесты в Golang
12:55
Gopher School
Рет қаралды 6 М.
Golang Net/Http Tutorial Part 1
10:32
Fabrzy
Рет қаралды 3,8 М.