Merge master
This commit is contained in:
parent
1e30712726
commit
19f05597e0
|
@ -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")]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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!(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user