mirror of
https://github.com/matrix-construct/construct
synced 2024-12-28 00:14:07 +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
|
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
|
bool ret
|
||||||
{
|
{
|
||||||
resource_request(head)
|
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
|
// We take the extra step here to clear the assignment to client.request
|
||||||
// when this request stack has finished for two reasons:
|
// when this request stack has finished for two reasons:
|
||||||
// - It allows other ctxs to peep at the client::list to see what this
|
// - 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.
|
// client/ctx/request is currently working on with some more safety.
|
||||||
// - It prevents an easy source for stale refs wrt the longpoll thing.
|
// - 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
|
const auto pathparm
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue