diff options
Diffstat (limited to 'day7/README.md')
| -rw-r--r-- | day7/README.md | 29 |
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` |