Skip to content
This repository has been archived by the owner on Dec 19, 2022. It is now read-only.

Обработка запроса #2

Open
and-cesbo opened this issue Oct 16, 2019 · 2 comments
Open

Обработка запроса #2

and-cesbo opened this issue Oct 16, 2019 · 2 comments
Assignees

Comments

@and-cesbo
Copy link
Member

В parse_request у тебя происходит дважды выделение памяти под запрос. Подозреваю сделано, чтобы небыло проблемы с заимствованием. Теоретически должно быть так:

self.request.parse(&mut self.stream)?;

Наверно правильней будет Request вынести в HttpServer и ему уже отдавать Connection (который будет просто транспортом)

@Mindgate
Copy link
Member

Да, всё так и было, надо над этим подумать. Не захотел выносить в сервер, потому что реквест он привязан к клиенту, пока синхронно это без разницы, но все равно стоит заранее размещать ближе к нужным сущностям

@and-cesbo
Copy link
Member Author

Точно! Я не прав.
Надо дополнительную абстракцию.
HttpServer - он общий.
HttpSession - это уже подключение + данные о подключении (транспорт, запрос, ответ, выбранный обработчик и тп)
HttpConnection (или HttpStream сделать по аналогии с клиентом) - это уже транспорт (передача данных). входит в HttpSession

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants