summaryrefslogtreecommitdiff
path: root/day7/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'day7/README.md')
-rw-r--r--day7/README.md29
1 files changed, 21 insertions, 8 deletions
diff --git a/day7/README.md b/day7/README.md
index c4d23ea..73b3003 100644
--- a/day7/README.md
+++ b/day7/README.md
@@ -1,6 +1,15 @@
# BrandNewServer Модули
-## backend.py
+## router.py
+### `Route`
+Представляет из себя класс роута. При инициализации принимает допустимые
+методы и регулярное выражение. Содержит методы для работы роутинга.
+Чтобы созданный путь стал обрабатываться необходимо поместить объект Route в таблицу роутера.
+
+* `check_route(url, method)`: По указанным URL и методу проверят подходит ли URL под соответсвующие настройки пути.
+* `invoke_callback(url, method, query)`: Как и `check_route` проверяет параметр на валидность, но если он валиден, то
+ вызывается соответствующий обработчик.
+
### `route(url_format, methods)`
> *Используется как декоратор.*
@@ -11,16 +20,19 @@
### `run(request)`
Принимает разобранный http-запрос, добавляет новые cookie-данные в базу данных.
-Ищет в дереве роутера функцию, которую необходимо вызвать для обработки текущего запроса.
+Ищет в таблице роутера функцию, которую необходимо вызвать для обработки текущего запроса.
При нахождении такой функции передает ей все необходимые данные о запросе.
Если подходящая функция не была найдена возвращает обработчику статус `404 Not Found`.
+## backend.py
### Пользовательские функции
-
### `get_color()`
Специфичная для этой программы функция. Возвращает цвет фона, который
должен быть у каждой возвращаемой страницы.
+### `get_error_template(text, color)`
+Генерирует страницу с ошибкой.
+
### `fallback_wrong_method(query, *args)`
Вызывается при любом url, если http-метод не GET или POST.
Возвращает обработчику статус `405 Method Not Allowed`
@@ -30,10 +42,10 @@
С этой страницы запросы отсылаются на POST-версии обработчиков, которые работают эквивалентно
GET-обработчикам. Далее будут описаны только GET-версии обработчиков.
-* divide_get(query, *args): Делит одно число на другое, доставая эти числа из url запроса.
-* show_errors_get(query, *args): Включает/выключает опцию show_errors из задания.
-* set_cookie_get(query, *args): Добавляет/обновляет cookie-записи в локальной базе данных.
-* short_log_get(query, *args): Включает/выключает опцию short_log из задания.
+* `divide_get(query, *args)`: Делит одно число на другое, доставая эти числа из url запроса.
+* `show_errors_get(query, *args)`: Включает/выключает опцию show_errors из задания.
+* `set_cookie_get(query, *args)`: Добавляет/обновляет cookie-записи в локальной базе данных.
+* `short_log_get(query, *args)`: Включает/выключает опцию short_log из задания.
## main.py
Обрабатывает переданные аргументы командной строки, инициализирует
@@ -58,7 +70,8 @@ GET-обработчикам. Далее будут описаны только
Получение значения из базы данных конфигурации сервера.
## http_handler.py
-### `main(host, port)`
+### `main()`
+Адрес хоста берется из базы данных конфигурации.
Запускает сервер по адресу `host:port`. Также тут
обрабатывается остановка сервера при нажатии `Ctrl+C`