macros: Use import_ruma_common instead of import_ruma_api
This commit is contained in:
parent
1bce0f0c96
commit
bdd54d1dd3
@ -193,19 +193,6 @@ use crate::UserId;
|
|||||||
pub use ruma_macros::ruma_api;
|
pub use ruma_macros::ruma_api;
|
||||||
|
|
||||||
pub mod error;
|
pub mod error;
|
||||||
/// This module is used to support the generated code from ruma-macros.
|
|
||||||
/// It is not considered part of ruma-common's public API.
|
|
||||||
#[doc(hidden)]
|
|
||||||
pub mod exports {
|
|
||||||
pub use bytes;
|
|
||||||
pub use http;
|
|
||||||
pub use percent_encoding;
|
|
||||||
pub use ruma_macros;
|
|
||||||
pub use ruma_serde;
|
|
||||||
pub use serde;
|
|
||||||
pub use serde_json;
|
|
||||||
}
|
|
||||||
|
|
||||||
mod metadata;
|
mod metadata;
|
||||||
|
|
||||||
pub use metadata::{MatrixVersion, Metadata};
|
pub use metadata::{MatrixVersion, Metadata};
|
||||||
|
@ -60,6 +60,12 @@ impl fmt::Debug for PrivOwnedStr {
|
|||||||
/// It is not considered part of this module's public API.
|
/// It is not considered part of this module's public API.
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
pub mod exports {
|
pub mod exports {
|
||||||
|
#[cfg(feature = "api")]
|
||||||
|
pub use bytes;
|
||||||
|
#[cfg(feature = "api")]
|
||||||
|
pub use http;
|
||||||
|
pub use percent_encoding;
|
||||||
|
pub use ruma_macros;
|
||||||
pub use ruma_serde;
|
pub use ruma_serde;
|
||||||
pub use serde;
|
pub use serde;
|
||||||
pub use serde_json;
|
pub use serde_json;
|
||||||
|
@ -9,6 +9,7 @@ use syn::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
use self::{api_metadata::Metadata, api_request::Request, api_response::Response};
|
use self::{api_metadata::Metadata, api_request::Request, api_response::Response};
|
||||||
|
use crate::util::import_ruma_common;
|
||||||
|
|
||||||
mod api_metadata;
|
mod api_metadata;
|
||||||
mod api_request;
|
mod api_request;
|
||||||
@ -45,8 +46,8 @@ pub struct Api {
|
|||||||
|
|
||||||
impl Api {
|
impl Api {
|
||||||
pub fn expand_all(self) -> TokenStream {
|
pub fn expand_all(self) -> TokenStream {
|
||||||
let ruma_api = util::import_ruma_api();
|
let ruma_common = import_ruma_common();
|
||||||
let http = quote! { #ruma_api::exports::http };
|
let http = quote! { #ruma_common::exports::http };
|
||||||
|
|
||||||
let metadata = &self.metadata;
|
let metadata = &self.metadata;
|
||||||
let description = &metadata.description;
|
let description = &metadata.description;
|
||||||
@ -61,18 +62,19 @@ impl Api {
|
|||||||
let deprecated = util::map_option_literal(&metadata.deprecated);
|
let deprecated = util::map_option_literal(&metadata.deprecated);
|
||||||
let removed = util::map_option_literal(&metadata.removed);
|
let removed = util::map_option_literal(&metadata.removed);
|
||||||
|
|
||||||
let error_ty = self
|
let error_ty = self.error_ty.map_or_else(
|
||||||
.error_ty
|
|| quote! { #ruma_common::api::error::MatrixError },
|
||||||
.map_or_else(|| quote! { #ruma_api::error::MatrixError }, |err_ty| quote! { #err_ty });
|
|err_ty| quote! { #err_ty },
|
||||||
|
);
|
||||||
|
|
||||||
let request = self.request.map(|req| req.expand(metadata, &error_ty, &ruma_api));
|
let request = self.request.map(|req| req.expand(metadata, &error_ty, &ruma_common));
|
||||||
let response = self.response.map(|res| res.expand(metadata, &error_ty, &ruma_api));
|
let response = self.response.map(|res| res.expand(metadata, &error_ty, &ruma_common));
|
||||||
|
|
||||||
let metadata_doc = format!("Metadata for the `{}` API endpoint.", name.value());
|
let metadata_doc = format!("Metadata for the `{}` API endpoint.", name.value());
|
||||||
|
|
||||||
quote! {
|
quote! {
|
||||||
#[doc = #metadata_doc]
|
#[doc = #metadata_doc]
|
||||||
pub const METADATA: #ruma_api::Metadata = #ruma_api::Metadata {
|
pub const METADATA: #ruma_common::api::Metadata = #ruma_common::api::Metadata {
|
||||||
description: #description,
|
description: #description,
|
||||||
method: #http::Method::#method,
|
method: #http::Method::#method,
|
||||||
name: #name,
|
name: #name,
|
||||||
@ -83,7 +85,7 @@ impl Api {
|
|||||||
deprecated: #deprecated,
|
deprecated: #deprecated,
|
||||||
removed: #removed,
|
removed: #removed,
|
||||||
rate_limited: #rate_limited,
|
rate_limited: #rate_limited,
|
||||||
authentication: #ruma_api::AuthScheme::#authentication,
|
authentication: #ruma_common::api::AuthScheme::#authentication,
|
||||||
};
|
};
|
||||||
|
|
||||||
#request
|
#request
|
||||||
|
@ -71,10 +71,10 @@ impl Request {
|
|||||||
&self,
|
&self,
|
||||||
metadata: &Metadata,
|
metadata: &Metadata,
|
||||||
error_ty: &TokenStream,
|
error_ty: &TokenStream,
|
||||||
ruma_api: &TokenStream,
|
ruma_common: &TokenStream,
|
||||||
) -> TokenStream {
|
) -> TokenStream {
|
||||||
let ruma_macros = quote! { #ruma_api::exports::ruma_macros };
|
let ruma_macros = quote! { #ruma_common::exports::ruma_macros };
|
||||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
let ruma_serde = quote! { #ruma_common::exports::ruma_serde };
|
||||||
|
|
||||||
let docs = format!(
|
let docs = format!(
|
||||||
"Data for a request to the `{}` API endpoint.\n\n{}",
|
"Data for a request to the `{}` API endpoint.\n\n{}",
|
||||||
|
@ -16,8 +16,9 @@ use syn::{
|
|||||||
use super::{
|
use super::{
|
||||||
attribute::{Meta, MetaNameValue, MetaValue},
|
attribute::{Meta, MetaNameValue, MetaValue},
|
||||||
auth_scheme::AuthScheme,
|
auth_scheme::AuthScheme,
|
||||||
util::{collect_lifetime_idents, import_ruma_api},
|
util::collect_lifetime_idents,
|
||||||
};
|
};
|
||||||
|
use crate::util::import_ruma_common;
|
||||||
|
|
||||||
mod incoming;
|
mod incoming;
|
||||||
mod outgoing;
|
mod outgoing;
|
||||||
@ -196,10 +197,10 @@ impl Request {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn expand_all(&self) -> TokenStream {
|
fn expand_all(&self) -> TokenStream {
|
||||||
let ruma_api = import_ruma_api();
|
let ruma_common = import_ruma_common();
|
||||||
let ruma_macros = quote! { #ruma_api::exports::ruma_macros };
|
let ruma_macros = quote! { #ruma_common::exports::ruma_macros };
|
||||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
let ruma_serde = quote! { #ruma_common::exports::ruma_serde };
|
||||||
let serde = quote! { #ruma_api::exports::serde };
|
let serde = quote! { #ruma_common::exports::serde };
|
||||||
|
|
||||||
let request_body_struct = self.has_body_fields().then(|| {
|
let request_body_struct = self.has_body_fields().then(|| {
|
||||||
let serde_attr = self.has_newtype_body().then(|| quote! { #[serde(transparent)] });
|
let serde_attr = self.has_newtype_body().then(|| quote! { #[serde(transparent)] });
|
||||||
@ -253,8 +254,8 @@ impl Request {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let outgoing_request_impl = self.expand_outgoing(&ruma_api);
|
let outgoing_request_impl = self.expand_outgoing(&ruma_common);
|
||||||
let incoming_request_impl = self.expand_incoming(&ruma_api);
|
let incoming_request_impl = self.expand_incoming(&ruma_common);
|
||||||
|
|
||||||
quote! {
|
quote! {
|
||||||
#request_body_struct
|
#request_body_struct
|
||||||
|
@ -6,11 +6,11 @@ use super::{Request, RequestField};
|
|||||||
use crate::api::auth_scheme::AuthScheme;
|
use crate::api::auth_scheme::AuthScheme;
|
||||||
|
|
||||||
impl Request {
|
impl Request {
|
||||||
pub fn expand_incoming(&self, ruma_api: &TokenStream) -> TokenStream {
|
pub fn expand_incoming(&self, ruma_common: &TokenStream) -> TokenStream {
|
||||||
let http = quote! { #ruma_api::exports::http };
|
let http = quote! { #ruma_common::exports::http };
|
||||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
let ruma_serde = quote! { #ruma_common::exports::ruma_serde };
|
||||||
let serde = quote! { #ruma_api::exports::serde };
|
let serde = quote! { #ruma_common::exports::serde };
|
||||||
let serde_json = quote! { #ruma_api::exports::serde_json };
|
let serde_json = quote! { #ruma_common::exports::serde_json };
|
||||||
|
|
||||||
let method = &self.method;
|
let method = &self.method;
|
||||||
let error_ty = &self.error_ty;
|
let error_ty = &self.error_ty;
|
||||||
@ -104,7 +104,7 @@ impl Request {
|
|||||||
quote! { str_value.to_owned() },
|
quote! { str_value.to_owned() },
|
||||||
quote! {
|
quote! {
|
||||||
return Err(
|
return Err(
|
||||||
#ruma_api::error::HeaderDeserializationError::MissingHeader(
|
#ruma_common::api::error::HeaderDeserializationError::MissingHeader(
|
||||||
#header_name_string.into()
|
#header_name_string.into()
|
||||||
).into(),
|
).into(),
|
||||||
)
|
)
|
||||||
@ -187,29 +187,29 @@ impl Request {
|
|||||||
quote! {
|
quote! {
|
||||||
#[automatically_derived]
|
#[automatically_derived]
|
||||||
#[cfg(feature = "server")]
|
#[cfg(feature = "server")]
|
||||||
impl #ruma_api::IncomingNonAuthRequest for #incoming_request_type {}
|
impl #ruma_common::api::IncomingNonAuthRequest for #incoming_request_type {}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
quote! {
|
quote! {
|
||||||
#[automatically_derived]
|
#[automatically_derived]
|
||||||
#[cfg(feature = "server")]
|
#[cfg(feature = "server")]
|
||||||
impl #ruma_api::IncomingRequest for #incoming_request_type {
|
impl #ruma_common::api::IncomingRequest for #incoming_request_type {
|
||||||
type EndpointError = #error_ty;
|
type EndpointError = #error_ty;
|
||||||
type OutgoingResponse = Response;
|
type OutgoingResponse = Response;
|
||||||
|
|
||||||
const METADATA: #ruma_api::Metadata = self::METADATA;
|
const METADATA: #ruma_common::api::Metadata = self::METADATA;
|
||||||
|
|
||||||
fn try_from_http_request<B, S>(
|
fn try_from_http_request<B, S>(
|
||||||
request: #http::Request<B>,
|
request: #http::Request<B>,
|
||||||
path_args: &[S],
|
path_args: &[S],
|
||||||
) -> ::std::result::Result<Self, #ruma_api::error::FromHttpRequestError>
|
) -> ::std::result::Result<Self, #ruma_common::api::error::FromHttpRequestError>
|
||||||
where
|
where
|
||||||
B: ::std::convert::AsRef<[::std::primitive::u8]>,
|
B: ::std::convert::AsRef<[::std::primitive::u8]>,
|
||||||
S: ::std::convert::AsRef<::std::primitive::str>,
|
S: ::std::convert::AsRef<::std::primitive::str>,
|
||||||
{
|
{
|
||||||
if request.method() != #http::Method::#method {
|
if request.method() != #http::Method::#method {
|
||||||
return Err(#ruma_api::error::FromHttpRequestError::MethodMismatch {
|
return Err(#ruma_common::api::error::FromHttpRequestError::MethodMismatch {
|
||||||
expected: #http::Method::#method,
|
expected: #http::Method::#method,
|
||||||
received: request.method().clone(),
|
received: request.method().clone(),
|
||||||
});
|
});
|
||||||
|
@ -6,11 +6,11 @@ use super::{Request, RequestField};
|
|||||||
use crate::api::{auth_scheme::AuthScheme, util};
|
use crate::api::{auth_scheme::AuthScheme, util};
|
||||||
|
|
||||||
impl Request {
|
impl Request {
|
||||||
pub fn expand_outgoing(&self, ruma_api: &TokenStream) -> TokenStream {
|
pub fn expand_outgoing(&self, ruma_common: &TokenStream) -> TokenStream {
|
||||||
let bytes = quote! { #ruma_api::exports::bytes };
|
let bytes = quote! { #ruma_common::exports::bytes };
|
||||||
let http = quote! { #ruma_api::exports::http };
|
let http = quote! { #ruma_common::exports::http };
|
||||||
let percent_encoding = quote! { #ruma_api::exports::percent_encoding };
|
let percent_encoding = quote! { #ruma_common::exports::percent_encoding };
|
||||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
let ruma_serde = quote! { #ruma_common::exports::ruma_serde };
|
||||||
|
|
||||||
let method = &self.method;
|
let method = &self.method;
|
||||||
let error_ty = &self.error_ty;
|
let error_ty = &self.error_ty;
|
||||||
@ -139,7 +139,7 @@ impl Request {
|
|||||||
"Bearer {}",
|
"Bearer {}",
|
||||||
access_token
|
access_token
|
||||||
.get_required_for_endpoint()
|
.get_required_for_endpoint()
|
||||||
.ok_or(#ruma_api::error::IntoHttpError::NeedsAuthentication)?,
|
.ok_or(#ruma_common::api::error::IntoHttpError::NeedsAuthentication)?,
|
||||||
))?,
|
))?,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
@ -177,7 +177,7 @@ impl Request {
|
|||||||
quote! {
|
quote! {
|
||||||
#[automatically_derived]
|
#[automatically_derived]
|
||||||
#[cfg(feature = "client")]
|
#[cfg(feature = "client")]
|
||||||
impl #impl_generics #ruma_api::OutgoingNonAuthRequest
|
impl #impl_generics #ruma_common::api::OutgoingNonAuthRequest
|
||||||
for Request #ty_generics #where_clause {}
|
for Request #ty_generics #where_clause {}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -185,18 +185,18 @@ impl Request {
|
|||||||
quote! {
|
quote! {
|
||||||
#[automatically_derived]
|
#[automatically_derived]
|
||||||
#[cfg(feature = "client")]
|
#[cfg(feature = "client")]
|
||||||
impl #impl_generics #ruma_api::OutgoingRequest for Request #ty_generics #where_clause {
|
impl #impl_generics #ruma_common::api::OutgoingRequest for Request #ty_generics #where_clause {
|
||||||
type EndpointError = #error_ty;
|
type EndpointError = #error_ty;
|
||||||
type IncomingResponse = <Response as #ruma_serde::Outgoing>::Incoming;
|
type IncomingResponse = <Response as #ruma_serde::Outgoing>::Incoming;
|
||||||
|
|
||||||
const METADATA: #ruma_api::Metadata = self::METADATA;
|
const METADATA: #ruma_common::api::Metadata = self::METADATA;
|
||||||
|
|
||||||
fn try_into_http_request<T: ::std::default::Default + #bytes::BufMut>(
|
fn try_into_http_request<T: ::std::default::Default + #bytes::BufMut>(
|
||||||
self,
|
self,
|
||||||
base_url: &::std::primitive::str,
|
base_url: &::std::primitive::str,
|
||||||
access_token: #ruma_api::SendAccessToken<'_>,
|
access_token: #ruma_common::api::SendAccessToken<'_>,
|
||||||
considering_versions: &'_ [#ruma_api::MatrixVersion],
|
considering_versions: &'_ [#ruma_common::api::MatrixVersion],
|
||||||
) -> ::std::result::Result<#http::Request<T>, #ruma_api::error::IntoHttpError> {
|
) -> ::std::result::Result<#http::Request<T>, #ruma_common::api::error::IntoHttpError> {
|
||||||
let metadata = self::METADATA;
|
let metadata = self::METADATA;
|
||||||
|
|
||||||
let mut req_builder = #http::Request::builder()
|
let mut req_builder = #http::Request::builder()
|
||||||
@ -204,7 +204,7 @@ impl Request {
|
|||||||
.uri(::std::format!(
|
.uri(::std::format!(
|
||||||
"{}{}{}",
|
"{}{}{}",
|
||||||
base_url.strip_suffix('/').unwrap_or(base_url),
|
base_url.strip_suffix('/').unwrap_or(base_url),
|
||||||
#ruma_api::select_path(considering_versions, &metadata, #unstable_path, #r0_path, #stable_path)?,
|
#ruma_common::api::select_path(considering_versions, &metadata, #unstable_path, #r0_path, #stable_path)?,
|
||||||
#request_query_string,
|
#request_query_string,
|
||||||
));
|
));
|
||||||
|
|
||||||
|
@ -13,10 +13,8 @@ use syn::{
|
|||||||
DeriveInput, Field, Generics, Ident, Lifetime, Token, Type,
|
DeriveInput, Field, Generics, Ident, Lifetime, Token, Type,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::{
|
use super::attribute::{Meta, MetaNameValue};
|
||||||
attribute::{Meta, MetaNameValue},
|
use crate::util::import_ruma_common;
|
||||||
util,
|
|
||||||
};
|
|
||||||
|
|
||||||
mod incoming;
|
mod incoming;
|
||||||
mod outgoing;
|
mod outgoing;
|
||||||
@ -95,10 +93,10 @@ impl Response {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn expand_all(&self) -> TokenStream {
|
fn expand_all(&self) -> TokenStream {
|
||||||
let ruma_api = util::import_ruma_api();
|
let ruma_common = import_ruma_common();
|
||||||
let ruma_macros = quote! { #ruma_api::exports::ruma_macros };
|
let ruma_macros = quote! { #ruma_common::exports::ruma_macros };
|
||||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
let ruma_serde = quote! { #ruma_common::exports::ruma_serde };
|
||||||
let serde = quote! { #ruma_api::exports::serde };
|
let serde = quote! { #ruma_common::exports::serde };
|
||||||
|
|
||||||
let response_body_struct = (!self.has_raw_body()).then(|| {
|
let response_body_struct = (!self.has_raw_body()).then(|| {
|
||||||
let serde_derives = self.manual_body_serde.not().then(|| {
|
let serde_derives = self.manual_body_serde.not().then(|| {
|
||||||
@ -121,8 +119,8 @@ impl Response {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let outgoing_response_impl = self.expand_outgoing(&ruma_api);
|
let outgoing_response_impl = self.expand_outgoing(&ruma_common);
|
||||||
let incoming_response_impl = self.expand_incoming(&self.error_ty, &ruma_api);
|
let incoming_response_impl = self.expand_incoming(&self.error_ty, &ruma_common);
|
||||||
|
|
||||||
quote! {
|
quote! {
|
||||||
#response_body_struct
|
#response_body_struct
|
||||||
|
@ -5,10 +5,10 @@ use syn::Type;
|
|||||||
use super::{Response, ResponseField};
|
use super::{Response, ResponseField};
|
||||||
|
|
||||||
impl Response {
|
impl Response {
|
||||||
pub fn expand_incoming(&self, error_ty: &Type, ruma_api: &TokenStream) -> TokenStream {
|
pub fn expand_incoming(&self, error_ty: &Type, ruma_common: &TokenStream) -> TokenStream {
|
||||||
let http = quote! { #ruma_api::exports::http };
|
let http = quote! { #ruma_common::exports::http };
|
||||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
let ruma_serde = quote! { #ruma_common::exports::ruma_serde };
|
||||||
let serde_json = quote! { #ruma_api::exports::serde_json };
|
let serde_json = quote! { #ruma_common::exports::serde_json };
|
||||||
|
|
||||||
let extract_response_headers = self.has_header_fields().then(|| {
|
let extract_response_headers = self.has_header_fields().then(|| {
|
||||||
quote! {
|
quote! {
|
||||||
@ -111,14 +111,14 @@ impl Response {
|
|||||||
quote! {
|
quote! {
|
||||||
#[automatically_derived]
|
#[automatically_derived]
|
||||||
#[cfg(feature = "client")]
|
#[cfg(feature = "client")]
|
||||||
impl #ruma_api::IncomingResponse for Response {
|
impl #ruma_common::api::IncomingResponse for Response {
|
||||||
type EndpointError = #error_ty;
|
type EndpointError = #error_ty;
|
||||||
|
|
||||||
fn try_from_http_response<T: ::std::convert::AsRef<[::std::primitive::u8]>>(
|
fn try_from_http_response<T: ::std::convert::AsRef<[::std::primitive::u8]>>(
|
||||||
response: #http::Response<T>,
|
response: #http::Response<T>,
|
||||||
) -> ::std::result::Result<
|
) -> ::std::result::Result<
|
||||||
Self,
|
Self,
|
||||||
#ruma_api::error::FromHttpResponseError<#error_ty>,
|
#ruma_common::api::error::FromHttpResponseError<#error_ty>,
|
||||||
> {
|
> {
|
||||||
if response.status().as_u16() < 400 {
|
if response.status().as_u16() < 400 {
|
||||||
#extract_response_headers
|
#extract_response_headers
|
||||||
@ -128,14 +128,14 @@ impl Response {
|
|||||||
#response_init_fields
|
#response_init_fields
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
match <#error_ty as #ruma_api::EndpointError>::try_from_http_response(
|
match <#error_ty as #ruma_common::api::EndpointError>::try_from_http_response(
|
||||||
response
|
response
|
||||||
) {
|
) {
|
||||||
::std::result::Result::Ok(err) => {
|
::std::result::Result::Ok(err) => {
|
||||||
Err(#ruma_api::error::ServerError::Known(err).into())
|
Err(#ruma_common::api::error::ServerError::Known(err).into())
|
||||||
}
|
}
|
||||||
::std::result::Result::Err(response_err) => {
|
::std::result::Result::Err(response_err) => {
|
||||||
Err(#ruma_api::error::ServerError::Unknown(response_err).into())
|
Err(#ruma_common::api::error::ServerError::Unknown(response_err).into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,10 +4,10 @@ use quote::quote;
|
|||||||
use super::{Response, ResponseField};
|
use super::{Response, ResponseField};
|
||||||
|
|
||||||
impl Response {
|
impl Response {
|
||||||
pub fn expand_outgoing(&self, ruma_api: &TokenStream) -> TokenStream {
|
pub fn expand_outgoing(&self, ruma_common: &TokenStream) -> TokenStream {
|
||||||
let bytes = quote! { #ruma_api::exports::bytes };
|
let bytes = quote! { #ruma_common::exports::bytes };
|
||||||
let http = quote! { #ruma_api::exports::http };
|
let http = quote! { #ruma_common::exports::http };
|
||||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
let ruma_serde = quote! { #ruma_common::exports::ruma_serde };
|
||||||
|
|
||||||
let serialize_response_headers = self.fields.iter().filter_map(|response_field| {
|
let serialize_response_headers = self.fields.iter().filter_map(|response_field| {
|
||||||
response_field.as_header_field().map(|(field, header_name)| {
|
response_field.as_header_field().map(|(field, header_name)| {
|
||||||
@ -64,10 +64,10 @@ impl Response {
|
|||||||
quote! {
|
quote! {
|
||||||
#[automatically_derived]
|
#[automatically_derived]
|
||||||
#[cfg(feature = "server")]
|
#[cfg(feature = "server")]
|
||||||
impl #ruma_api::OutgoingResponse for Response {
|
impl #ruma_common::api::OutgoingResponse for Response {
|
||||||
fn try_into_http_response<T: ::std::default::Default + #bytes::BufMut>(
|
fn try_into_http_response<T: ::std::default::Default + #bytes::BufMut>(
|
||||||
self,
|
self,
|
||||||
) -> ::std::result::Result<#http::Response<T>, #ruma_api::error::IntoHttpError> {
|
) -> ::std::result::Result<#http::Response<T>, #ruma_common::api::error::IntoHttpError> {
|
||||||
let mut resp_builder = #http::Response::builder()
|
let mut resp_builder = #http::Response::builder()
|
||||||
.header(#http::header::CONTENT_TYPE, "application/json");
|
.header(#http::header::CONTENT_TYPE, "application/json");
|
||||||
|
|
||||||
|
@ -3,28 +3,9 @@
|
|||||||
use std::collections::BTreeSet;
|
use std::collections::BTreeSet;
|
||||||
|
|
||||||
use proc_macro2::{Ident, Span, TokenStream};
|
use proc_macro2::{Ident, Span, TokenStream};
|
||||||
use proc_macro_crate::{crate_name, FoundCrate};
|
use quote::{quote, ToTokens};
|
||||||
use quote::{format_ident, quote, ToTokens};
|
|
||||||
use syn::{parse_quote, visit::Visit, Attribute, Lifetime, NestedMeta, Type};
|
use syn::{parse_quote, visit::Visit, Attribute, Lifetime, NestedMeta, Type};
|
||||||
|
|
||||||
pub fn import_ruma_api() -> TokenStream {
|
|
||||||
if let Ok(FoundCrate::Name(name)) = crate_name("ruma-common") {
|
|
||||||
let import = format_ident!("{}", name);
|
|
||||||
quote! { ::#import::api }
|
|
||||||
} else if let Ok(FoundCrate::Name(name)) = crate_name("ruma") {
|
|
||||||
let import = format_ident!("{}", name);
|
|
||||||
quote! { ::#import::api }
|
|
||||||
} else if let Ok(FoundCrate::Name(name)) = crate_name("matrix-sdk") {
|
|
||||||
let import = format_ident!("{}", name);
|
|
||||||
quote! { ::#import::ruma::api }
|
|
||||||
} else if let Ok(FoundCrate::Name(name)) = crate_name("matrix-sdk-appservice") {
|
|
||||||
let import = format_ident!("{}", name);
|
|
||||||
quote! { ::#import::ruma::api }
|
|
||||||
} else {
|
|
||||||
quote! { ::ruma_common::api }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn map_option_literal<T: ToTokens>(ver: &Option<T>) -> TokenStream {
|
pub fn map_option_literal<T: ToTokens>(ver: &Option<T>) -> TokenStream {
|
||||||
match ver {
|
match ver {
|
||||||
Some(v) => quote! { ::std::option::Option::Some(#v) },
|
Some(v) => quote! { ::std::option::Option::Some(#v) },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user