diff options
| author | Andrew <saintruler@gmail.com> | 2019-06-03 21:28:50 +0400 |
|---|---|---|
| committer | Andrew <saintruler@gmail.com> | 2019-06-03 21:28:50 +0400 |
| commit | 18617fd71708222fed455aac1d7d826d63ee3804 (patch) | |
| tree | 489793d17507e8a313b45225ea80ac40d19789d3 /day7/README.md | |
| parent | d31296d87f86ca817b6d7c41c46bc83fe403a093 (diff) | |
Исправил некоторые недочеты, обновил README.md
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` |