Merge master

This commit is contained in:
Sunli 2020-10-01 09:40:04 +08:00
parent 1e30712726
commit 19f05597e0
2 changed files with 7 additions and 13 deletions

View File

@ -1,7 +1,7 @@
//! Apollo persisted queries extension. //! Apollo persisted queries extension.
use crate::extensions::{Error, Extension, ExtensionContext, ExtensionFactory}; use crate::extensions::{Extension, ExtensionContext, ExtensionFactory};
use crate::{Request, Result}; use crate::{Request, ServerError, ServerResult};
use futures::lock::Mutex; use futures::lock::Mutex;
use serde::Deserialize; use serde::Deserialize;
use std::sync::Arc; use std::sync::Arc;
@ -78,13 +78,13 @@ impl<T: CacheStorage> Extension for ApolloPersistedQueriesExtension<T> {
&mut self, &mut self,
_ctx: &ExtensionContext<'_>, _ctx: &ExtensionContext<'_>,
mut request: Request, mut request: Request,
) -> Result<Request> { ) -> ServerResult<Request> {
if let Some(value) = request.extensions.remove("persistedQuery") { if let Some(value) = request.extensions.remove("persistedQuery") {
let persisted_query: PersistedQuery = serde_json::from_value(value).map_err(|_| { let persisted_query: PersistedQuery = serde_json::from_value(value).map_err(|_| {
Error::Other("Invalid \"PersistedQuery\" extension configuration.".to_string()) ServerError::new("Invalid \"PersistedQuery\" extension configuration.")
})?; })?;
if persisted_query.version != 1 { if persisted_query.version != 1 {
return Err(Error::Other ( return Err(ServerError::new(
format!("Only the \"PersistedQuery\" extension of version \"1\" is supported, and the current version is \"{}\".", persisted_query.version), format!("Only the \"PersistedQuery\" extension of version \"1\" is supported, and the current version is \"{}\".", persisted_query.version),
)); ));
} }
@ -93,7 +93,7 @@ impl<T: CacheStorage> Extension for ApolloPersistedQueriesExtension<T> {
if let Some(query) = self.storage.get(persisted_query.sha256_hash).await { if let Some(query) = self.storage.get(persisted_query.sha256_hash).await {
Ok(Request { query, ..request }) Ok(Request { query, ..request })
} else { } else {
Err(Error::Other("PersistedQueryNotFound".to_string())) Err(ServerError::new("PersistedQueryNotFound".to_string()))
} }
} else { } else {
self.storage self.storage
@ -170,7 +170,7 @@ mod tests {
assert_eq!( assert_eq!(
schema.execute(request).await.into_result().unwrap_err(), schema.execute(request).await.into_result().unwrap_err(),
Error::Other("PersistedQueryNotFound".to_string()) vec![ServerError::new("PersistedQueryNotFound")]
); );
} }
} }

View File

@ -101,12 +101,6 @@ impl Extension for LoggerExtension {
write!(f, "variables: {}", self.log.variables)?; write!(f, "variables: {}", self.log.variables)?;
write!(f, "{}", self.e.message) write!(f, "{}", self.e.message)
} }
Error::Other(err) => error!(
target: "async-graphql", "[OtherError] query: \"{}\", variables: {}, {}",
self.query,
self.variables,
err
),
} }
error!( error!(