mirror of
https://github.com/matrix-construct/construct
synced 2024-12-26 15:33:54 +01:00
ircd::client: Set some client::request values immediately after head parse.
This commit is contained in:
parent
ffc652706f
commit
5b3191345f
2 changed files with 17 additions and 8 deletions
|
@ -770,6 +770,17 @@ try
|
|||
content_consumed
|
||||
};
|
||||
|
||||
// Sets values in this->client::request based on everything we know from
|
||||
// the head for this scope. This gets updated again in the resource::
|
||||
// unit for their scope with more data including the content.
|
||||
const scope_restore request
|
||||
{
|
||||
this->request, resource::request
|
||||
{
|
||||
head, string_view{} // no content considered yet
|
||||
}
|
||||
};
|
||||
|
||||
bool ret
|
||||
{
|
||||
resource_request(head)
|
||||
|
|
|
@ -391,20 +391,18 @@ try
|
|||
};
|
||||
}
|
||||
|
||||
client.request = resource::request
|
||||
{
|
||||
head, content
|
||||
};
|
||||
|
||||
// We take the extra step here to clear the assignment to client.request
|
||||
// when this request stack has finished for two reasons:
|
||||
// - It allows other ctxs to peep at the client::list to see what this
|
||||
// client/ctx/request is currently working on with some more safety.
|
||||
// - It prevents an easy source for stale refs wrt the longpoll thing.
|
||||
const unwind clear_request{[&client]
|
||||
const scope_restore client_request
|
||||
{
|
||||
client.request = {};
|
||||
}};
|
||||
client.request, resource::request
|
||||
{
|
||||
head, content
|
||||
}
|
||||
};
|
||||
|
||||
const auto pathparm
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue