MCPcopy Create free account
hub / github.com/emwalker/digraph / graphql_handler

Function graphql_handler

backend/src/bin/api.rs:60–71  ·  view source on GitHub ↗
(
    schema: Extension<ServiceSchema>,
    auth: Option<TypedHeader<Authorization<Basic>>>,
    State(state): State<digraph::graphql::State>,
    req: GraphQLRequest,
)

Source from the content-addressed store, hash-verified

58}
59
60async fn graphql_handler(
61 schema: Extension<ServiceSchema>,
62 auth: Option<TypedHeader<Authorization<Basic>>>,
63 State(state): State<digraph::graphql::State>,
64 req: GraphQLRequest,
65) -> GraphQLResponse {
66 let viewer = viewer_from_header(auth, &state).await;
67 let store = state.store(Arc::new(viewer), &Timespec);
68 log::info!("fetching request as viewer: {:?}", store.viewer);
69 let response = async move { schema.execute(req.into_inner().data(store)).await }.await;
70 response.into()
71}
72
73async fn shutdown_signal() {
74 let ctrl_c = async {

Callers

nothing calls this directly

Calls 2

viewer_from_headerFunction · 0.85
storeMethod · 0.80

Tested by

no test coverage detected