mirror of
https://github.com/matrix-construct/construct
synced 2024-12-26 23:44:01 +01:00
ircd::resource: Deinline request aggregate ctor.
This commit is contained in:
parent
378b9b3acf
commit
24cf3569a9
2 changed files with 43 additions and 18 deletions
|
@ -23,14 +23,7 @@ struct ircd::resource::request
|
||||||
vector_view<string_view> parv;
|
vector_view<string_view> parv;
|
||||||
string_view param[8];
|
string_view param[8];
|
||||||
|
|
||||||
request(const http::request::head &head,
|
request(const http::request::head &, const string_view &content) noexcept;
|
||||||
const string_view &content)
|
|
||||||
:json::object{content}
|
|
||||||
,head{head}
|
|
||||||
,content{content}
|
|
||||||
,query{this->head.query}
|
|
||||||
{}
|
|
||||||
|
|
||||||
request() = default;
|
request() = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -46,14 +39,19 @@ struct ircd::resource::request::object
|
||||||
const vector_view<string_view> &parv;
|
const vector_view<string_view> &parv;
|
||||||
const json::object &body;
|
const json::object &body;
|
||||||
|
|
||||||
object(resource::request &r)
|
object(resource::request &) noexcept;
|
||||||
:tuple{r}
|
|
||||||
,r{r}
|
|
||||||
,head{r.head}
|
|
||||||
,content{r.content}
|
|
||||||
,query{r.query}
|
|
||||||
,params{r.params}
|
|
||||||
,parv{r.parv}
|
|
||||||
,body{r}
|
|
||||||
{}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<class tuple>
|
||||||
|
inline
|
||||||
|
ircd::resource::request::object<tuple>::object(resource::request &r)
|
||||||
|
noexcept
|
||||||
|
:tuple{r}
|
||||||
|
,r{r}
|
||||||
|
,head{r.head}
|
||||||
|
,content{r.content}
|
||||||
|
,query{r.query}
|
||||||
|
,params{r.params}
|
||||||
|
,parv{r.parv}
|
||||||
|
,body{r}
|
||||||
|
{}
|
||||||
|
|
|
@ -738,6 +738,33 @@ const
|
||||||
return head.content_length <= payload_max;
|
return head.content_length <= payload_max;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// resource/request.h
|
||||||
|
//
|
||||||
|
|
||||||
|
ircd::resource::request::request(const http::request::head &head,
|
||||||
|
const string_view &content)
|
||||||
|
noexcept
|
||||||
|
:json::object
|
||||||
|
{
|
||||||
|
content
|
||||||
|
}
|
||||||
|
,head
|
||||||
|
{
|
||||||
|
head
|
||||||
|
}
|
||||||
|
,content
|
||||||
|
{
|
||||||
|
content
|
||||||
|
}
|
||||||
|
,query
|
||||||
|
{
|
||||||
|
this->head.query
|
||||||
|
}
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// resource/response.h
|
// resource/response.h
|
||||||
|
|
Loading…
Reference in a new issue