Search
Write a publication
Pull to refresh
6
0
Eugene @ephmann

Пользователь

Send message
Совершенно верно. Значения заголовков с одинаковыми названиями МОГУТ быть объединены в один. В том случае, если значения представляют собой список значений, разделённый запятой. Во всех остальных случаях последнее значение «перекрывает» предыдущее. Текущая ситуация может породить похожий тред:
github.com/nodejs/node/issues/3591
Нам точно нужна +1 зависимость чтобы писать конфиг?
Спасибо, что интересуетесь.
Положа руку на сердце, в проекте достаточно «детских» решений, которые ещё придётся изменять и дополнять.
Касаемо преобразования list of tuples в словарик. Мы, естественно, преобразуем ASGI scope
(https://asgi.readthedocs.io/en/latest/specs/www.html#http-connection-scope). Я, разумеется, читал (https://github.com/encode/starlette/blob/c566fc6c819f0d565f8cff432351fe009e83d866/starlette/datastructures.py#L487). И, несомненно, у этого есть высокая цель. Я даже подозреваю какая: Объект заголовков должен быть неизменяемым на момент всего выполнения запроса каким бы долгим он ни был — это первое. Второе — «Duplicates are possible and must be preserved in the message as received». Именно поэтому Ваше сообщение вызывает уважение. Я размышлял очень много над объектом реквеста (он практически неизменен с первых строк проекта), и я хочу что-то делать не потому что «А у взрослых дяденек так», а потому что так действительно стоит делать. В данном конкретном случае ТАК действительно нужно делать только потому, что так говорит ASGI спецификация. Как именно это выполнить, я пока не знаю.
Что я имею в виду: Объект реквеста, с предоставляемыми атрибутами может быть изменён приложением во время выполнения. При этом объект ASGI scope останется неизменным. Опасность заключается в том, что эти объекты могут не совпадать. Я понимаю риск. Я понимаю, что объект реквеста, который передаётся в течение всего цикла запроса есть желание изменить. Для этих целей, например, у Starlette есть State.
Я не уверен, как делать это в Crax.
Есть инструменты работы с командной строкой. Об этом рассказывается в соответствующих главах документации. Но вызов происходит путём python app.py command_name. В основном команды касаются работы с бд. Например python app.py makemigrations, python app.py migrate и прочее. Скриптов создания пустого проекта или неймспейса пока нет. Нет, Вы совершенно правы, начиная с 3.3 пакеты можно без init.py

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity