api: Rename newtype raw body => raw body
This commit is contained in:
parent
7ac3c369cc
commit
42fda7c89f
@ -39,7 +39,7 @@ pub fn expand_derive_request(input: DeriveInput) -> syn::Result<TokenStream> {
|
||||
RequestField::Header(..) => collect_lifetime_idents(&mut lifetimes.header, ty),
|
||||
RequestField::Body(_) => collect_lifetime_idents(&mut lifetimes.body, ty),
|
||||
RequestField::NewtypeBody(_) => collect_lifetime_idents(&mut lifetimes.body, ty),
|
||||
RequestField::NewtypeRawBody(_) => collect_lifetime_idents(&mut lifetimes.body, ty),
|
||||
RequestField::RawBody(_) => collect_lifetime_idents(&mut lifetimes.body, ty),
|
||||
RequestField::Path(_) => collect_lifetime_idents(&mut lifetimes.path, ty),
|
||||
RequestField::Query(_) => collect_lifetime_idents(&mut lifetimes.query, ty),
|
||||
RequestField::QueryMap(_) => collect_lifetime_idents(&mut lifetimes.query, ty),
|
||||
@ -158,8 +158,8 @@ impl Request {
|
||||
self.fields.iter().find_map(RequestField::as_newtype_body_field)
|
||||
}
|
||||
|
||||
fn newtype_raw_body_field(&self) -> Option<&Field> {
|
||||
self.fields.iter().find_map(RequestField::as_newtype_raw_body_field)
|
||||
fn raw_body_field(&self) -> Option<&Field> {
|
||||
self.fields.iter().find_map(RequestField::as_raw_body_field)
|
||||
}
|
||||
|
||||
fn query_map_field(&self) -> Option<&Field> {
|
||||
@ -246,7 +246,7 @@ impl Request {
|
||||
// TODO: highlight problematic fields
|
||||
|
||||
let newtype_body_fields = self.fields.iter().filter(|field| {
|
||||
matches!(field, RequestField::NewtypeBody(_) | RequestField::NewtypeRawBody(_))
|
||||
matches!(field, RequestField::NewtypeBody(_) | RequestField::RawBody(_))
|
||||
});
|
||||
|
||||
let has_newtype_body_field = match newtype_body_fields.count() {
|
||||
@ -321,7 +321,7 @@ enum RequestField {
|
||||
NewtypeBody(Field),
|
||||
|
||||
/// Arbitrary bytes in the body of the request.
|
||||
NewtypeRawBody(Field),
|
||||
RawBody(Field),
|
||||
|
||||
/// Data that appears in the URL path.
|
||||
Path(Field),
|
||||
@ -342,7 +342,7 @@ impl RequestField {
|
||||
RequestField::Header(field, header.expect("missing header name"))
|
||||
}
|
||||
RequestFieldKind::NewtypeBody => RequestField::NewtypeBody(field),
|
||||
RequestFieldKind::NewtypeRawBody => RequestField::NewtypeRawBody(field),
|
||||
RequestFieldKind::RawBody => RequestField::RawBody(field),
|
||||
RequestFieldKind::Path => RequestField::Path(field),
|
||||
RequestFieldKind::Query => RequestField::Query(field),
|
||||
RequestFieldKind::QueryMap => RequestField::QueryMap(field),
|
||||
@ -360,8 +360,8 @@ impl RequestField {
|
||||
}
|
||||
|
||||
/// Return the contained field if this request field is a raw body kind.
|
||||
pub fn as_newtype_raw_body_field(&self) -> Option<&Field> {
|
||||
self.field_of_kind(RequestFieldKind::NewtypeRawBody)
|
||||
pub fn as_raw_body_field(&self) -> Option<&Field> {
|
||||
self.field_of_kind(RequestFieldKind::RawBody)
|
||||
}
|
||||
|
||||
/// Return the contained field if this request field is a query kind.
|
||||
@ -380,7 +380,7 @@ impl RequestField {
|
||||
RequestField::Body(field)
|
||||
| RequestField::Header(field, _)
|
||||
| RequestField::NewtypeBody(field)
|
||||
| RequestField::NewtypeRawBody(field)
|
||||
| RequestField::RawBody(field)
|
||||
| RequestField::Path(field)
|
||||
| RequestField::Query(field)
|
||||
| RequestField::QueryMap(field) => field,
|
||||
@ -393,7 +393,7 @@ impl RequestField {
|
||||
(RequestField::Body(field), RequestFieldKind::Body)
|
||||
| (RequestField::Header(field, _), RequestFieldKind::Header)
|
||||
| (RequestField::NewtypeBody(field), RequestFieldKind::NewtypeBody)
|
||||
| (RequestField::NewtypeRawBody(field), RequestFieldKind::NewtypeRawBody)
|
||||
| (RequestField::RawBody(field), RequestFieldKind::RawBody)
|
||||
| (RequestField::Path(field), RequestFieldKind::Path)
|
||||
| (RequestField::Query(field), RequestFieldKind::Query)
|
||||
| (RequestField::QueryMap(field), RequestFieldKind::QueryMap) => Some(field),
|
||||
@ -428,7 +428,7 @@ impl TryFrom<Field> for RequestField {
|
||||
field_kind = Some(match meta {
|
||||
Meta::Word(ident) => match &ident.to_string()[..] {
|
||||
"body" => RequestFieldKind::NewtypeBody,
|
||||
"raw_body" => RequestFieldKind::NewtypeRawBody,
|
||||
"raw_body" => RequestFieldKind::RawBody,
|
||||
"path" => RequestFieldKind::Path,
|
||||
"query" => RequestFieldKind::Query,
|
||||
"query_map" => RequestFieldKind::QueryMap,
|
||||
@ -476,7 +476,7 @@ enum RequestFieldKind {
|
||||
Body,
|
||||
Header,
|
||||
NewtypeBody,
|
||||
NewtypeRawBody,
|
||||
RawBody,
|
||||
Path,
|
||||
Query,
|
||||
QueryMap,
|
||||
|
@ -202,7 +202,7 @@ impl Request {
|
||||
};
|
||||
|
||||
(parse, quote! { #field_name, })
|
||||
} else if let Some(field) = self.newtype_raw_body_field() {
|
||||
} else if let Some(field) = self.raw_body_field() {
|
||||
let field_name = field.ident.as_ref().expect("expected field to have an identifier");
|
||||
let parse = quote! {
|
||||
let #field_name =
|
||||
|
@ -153,7 +153,7 @@ impl Request {
|
||||
};
|
||||
header_kvs.extend(hdr_kv);
|
||||
|
||||
let request_body = if let Some(field) = self.newtype_raw_body_field() {
|
||||
let request_body = if let Some(field) = self.raw_body_field() {
|
||||
let field_name = field.ident.as_ref().expect("expected field to have an identifier");
|
||||
quote! { #ruma_serde::slice_to_buf(&self.#field_name) }
|
||||
} else if self.has_body_fields() || self.newtype_body_field().is_some() {
|
||||
|
@ -74,8 +74,8 @@ impl Response {
|
||||
}
|
||||
|
||||
/// Returns the body field.
|
||||
fn newtype_raw_body_field(&self) -> Option<&Field> {
|
||||
self.fields.iter().find_map(ResponseField::as_newtype_raw_body_field)
|
||||
fn raw_body_field(&self) -> Option<&Field> {
|
||||
self.fields.iter().find_map(ResponseField::as_raw_body_field)
|
||||
}
|
||||
|
||||
/// Whether or not this request has any data in the URL path.
|
||||
@ -90,7 +90,7 @@ impl Response {
|
||||
let serde = quote! { #ruma_api::exports::serde };
|
||||
|
||||
let response_body_struct =
|
||||
self.fields.iter().all(|f| !matches!(f, ResponseField::NewtypeRawBody(_))).then(|| {
|
||||
self.fields.iter().all(|f| !matches!(f, ResponseField::RawBody(_))).then(|| {
|
||||
let newtype_body_field =
|
||||
self.fields.iter().find(|f| matches!(f, ResponseField::NewtypeBody(_)));
|
||||
let def = if let Some(body_field) = newtype_body_field {
|
||||
@ -133,9 +133,10 @@ impl Response {
|
||||
panic!("This macro doesn't support generic types");
|
||||
}
|
||||
|
||||
let newtype_body_fields = self.fields.iter().filter(|f| {
|
||||
matches!(f, ResponseField::NewtypeBody(_) | ResponseField::NewtypeRawBody(_))
|
||||
});
|
||||
let newtype_body_fields = self
|
||||
.fields
|
||||
.iter()
|
||||
.filter(|f| matches!(f, ResponseField::NewtypeBody(_) | ResponseField::RawBody(_)));
|
||||
|
||||
let has_newtype_body_field = match newtype_body_fields.count() {
|
||||
0 => false,
|
||||
@ -172,7 +173,7 @@ enum ResponseField {
|
||||
NewtypeBody(Field),
|
||||
|
||||
/// Arbitrary bytes in the body of the response.
|
||||
NewtypeRawBody(Field),
|
||||
RawBody(Field),
|
||||
}
|
||||
|
||||
impl ResponseField {
|
||||
@ -182,7 +183,7 @@ impl ResponseField {
|
||||
ResponseField::Body(field)
|
||||
| ResponseField::Header(field, _)
|
||||
| ResponseField::NewtypeBody(field)
|
||||
| ResponseField::NewtypeRawBody(field) => field,
|
||||
| ResponseField::RawBody(field) => field,
|
||||
}
|
||||
}
|
||||
|
||||
@ -210,10 +211,10 @@ impl ResponseField {
|
||||
}
|
||||
}
|
||||
|
||||
/// Return the contained field if this response field is a newtype raw body kind.
|
||||
fn as_newtype_raw_body_field(&self) -> Option<&Field> {
|
||||
/// Return the contained field if this response field is a raw body kind.
|
||||
fn as_raw_body_field(&self) -> Option<&Field> {
|
||||
match self {
|
||||
ResponseField::NewtypeRawBody(field) => Some(field),
|
||||
ResponseField::RawBody(field) => Some(field),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
@ -252,7 +253,7 @@ impl TryFrom<Field> for ResponseField {
|
||||
field_kind = Some(match meta {
|
||||
Meta::Word(ident) => match &ident.to_string()[..] {
|
||||
"body" => ResponseFieldKind::NewtypeBody,
|
||||
"raw_body" => ResponseFieldKind::NewtypeRawBody,
|
||||
"raw_body" => ResponseFieldKind::RawBody,
|
||||
_ => {
|
||||
return Err(syn::Error::new_spanned(
|
||||
ident,
|
||||
@ -280,7 +281,7 @@ impl TryFrom<Field> for ResponseField {
|
||||
ResponseField::Header(field, header.expect("missing header name"))
|
||||
}
|
||||
ResponseFieldKind::NewtypeBody => ResponseField::NewtypeBody(field),
|
||||
ResponseFieldKind::NewtypeRawBody => ResponseField::NewtypeRawBody(field),
|
||||
ResponseFieldKind::RawBody => ResponseField::RawBody(field),
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -302,7 +303,7 @@ enum ResponseFieldKind {
|
||||
Body,
|
||||
Header,
|
||||
NewtypeBody,
|
||||
NewtypeRawBody,
|
||||
RawBody,
|
||||
}
|
||||
|
||||
fn has_lifetime(ty: &Type) -> bool {
|
||||
|
@ -40,7 +40,7 @@ impl Response {
|
||||
|
||||
let response_init_fields = {
|
||||
let mut fields = vec![];
|
||||
let mut new_type_raw_body = None;
|
||||
let mut raw_body = None;
|
||||
|
||||
for response_field in &self.fields {
|
||||
let field = response_field.field();
|
||||
@ -92,8 +92,8 @@ impl Response {
|
||||
// This field must be instantiated last to avoid `use of move value` error.
|
||||
// We are guaranteed only one new body field because of a check in
|
||||
// `parse_response`.
|
||||
ResponseField::NewtypeRawBody(_) => {
|
||||
new_type_raw_body = Some(quote! {
|
||||
ResponseField::RawBody(_) => {
|
||||
raw_body = Some(quote! {
|
||||
#( #cfg_attrs )*
|
||||
#field_name: {
|
||||
::std::convert::AsRef::<[::std::primitive::u8]>::as_ref(
|
||||
@ -108,7 +108,7 @@ impl Response {
|
||||
});
|
||||
}
|
||||
|
||||
fields.extend(new_type_raw_body);
|
||||
fields.extend(raw_body);
|
||||
|
||||
quote! {
|
||||
#(#fields,)*
|
||||
|
@ -37,7 +37,7 @@ impl Response {
|
||||
})
|
||||
});
|
||||
|
||||
let body = if let Some(field) = self.newtype_raw_body_field() {
|
||||
let body = if let Some(field) = self.raw_body_field() {
|
||||
let field_name = field.ident.as_ref().expect("expected field to have an identifier");
|
||||
quote! { #ruma_serde::slice_to_buf(&self.#field_name) }
|
||||
} else if let Some(field) = self.newtype_body_field() {
|
||||
|
@ -93,7 +93,7 @@ pub mod newtype_body_endpoint {
|
||||
}
|
||||
}
|
||||
|
||||
pub mod newtype_raw_body_endpoint {
|
||||
pub mod raw_body_endpoint {
|
||||
use ruma_api::ruma_api;
|
||||
|
||||
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
|
||||
|
@ -42,7 +42,7 @@ mod newtype_body {
|
||||
}
|
||||
}
|
||||
|
||||
mod newtype_raw_body {
|
||||
mod raw_body {
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_identifiers::UserId;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user