diff --git a/rustbook-ru/src/ch20-01-single-threaded.md b/rustbook-ru/src/ch20-01-single-threaded.md index 8ea9bc8dd..dfcdffa26 100644 --- a/rustbook-ru/src/ch20-01-single-threaded.md +++ b/rustbook-ru/src/ch20-01-single-threaded.md @@ -180,7 +180,7 @@ HTTP/1.1 200 OK\r\n\r\n Листинг 20-5. Отправка содержимого hello.html в качестве тела ответа -Мы добавили элемент `fs` в оператор `use`, чтобы включить в область видимости модуль файловой системы стандартной библиотеки. Код для чтения содержимого файла в строку должен выглядеть знакомым для вас; мы использовали его в главе 12, когда читали содержимое файла для нашего проекта ввода-вывода в листинге 12-4. +Мы добавили элемент `fs` в инструкцию `use`, чтобы включить в область видимости модуль файловой системы стандартной библиотеки. Код для чтения содержимого файла в строку должен выглядеть знакомым для вас; мы использовали его в главе 12, когда читали содержимое файла для нашего проекта ввода-вывода в листинге 12-4. Далее мы используем `format!` чтобы добавить содержимое файла в качестве тела ответа об успешном завершении. Чтобы гарантировать действительный HTTP-ответ, мы добавляем заголовок `Content-Length` который имеет размер тела нашего ответа, в данном случае размер `hello.html` . @@ -242,7 +242,7 @@ HTTP/1.1 200 OK\r\n\r\n Листинг 20-9: Рефакторинг блоков if и else, чтобы они содержали только код, который отличается для каждого из случаев -Теперь блоки `if` и `else` возвращают только соответствующие значения для строки состояния и имени файла в кортеже; Затем мы используем деструктурирование, чтобы присвоить эти два значения `status_line` и `filename` используя шаблон в операторе `let`, как обсуждалось в главе 18. +Теперь блоки `if` и `else` возвращают только соответствующие значения для строки состояния и имени файла в кортеже. Затем мы используем деструктурирование, чтобы присвоить эти два значения `status_line` и `filename` используя шаблон в инструкции `let`, как обсуждалось в главе 18. Ранее дублированный код теперь находится вне блоков `if` и `else` и использует переменные `status_line` и `filename`. Это позволяет легче увидеть разницу между этими двумя случаями и означает, что у нас есть только одно место для обновления кода, если захотим изменить работу чтения файлов и записи ответов. Поведение кода в листинге 20-9 будет таким же, как и в 20-8.