All Downloads are FREE. Search and download functionalities are using the official Maven repository.

graphql.kickstart.spring.webflux.GraphQLSpringWebfluxInvocationInputFactory Maven / Gradle / Ivy

The newest version!
package graphql.kickstart.spring.webflux;

import graphql.kickstart.execution.GraphQLRequest;
import graphql.kickstart.execution.config.GraphQLSchemaProvider;
import graphql.kickstart.execution.input.GraphQLSingleInvocationInput;
import graphql.kickstart.execution.subscriptions.GraphQLSubscriptionInvocationInputFactory;
import graphql.kickstart.execution.subscriptions.SubscriptionSession;
import graphql.kickstart.spring.DefaultGraphQLSpringInvocationInputFactory;
import graphql.kickstart.spring.GraphQLSpringContextBuilder;
import graphql.kickstart.spring.GraphQLSpringRootObjectBuilder;
import java.util.function.Supplier;
import org.springframework.web.reactive.socket.WebSocketSession;

public class GraphQLSpringWebfluxInvocationInputFactory
    extends DefaultGraphQLSpringInvocationInputFactory
    implements GraphQLSubscriptionInvocationInputFactory {

  public GraphQLSpringWebfluxInvocationInputFactory(
      GraphQLSchemaProvider schemaProvider,
      GraphQLSpringContextBuilder contextBuilder,
      GraphQLSpringRootObjectBuilder rootObjectBuilder) {
    super(schemaProvider, contextBuilder, rootObjectBuilder);
  }

  public GraphQLSpringWebfluxInvocationInputFactory(
      Supplier schemaProviderSupplier,
      Supplier contextBuilderSupplier,
      Supplier rootObjectBuilderSupplier) {
    super(schemaProviderSupplier, contextBuilderSupplier, rootObjectBuilderSupplier);
  }

  @Override
  public GraphQLSingleInvocationInput create(
      GraphQLRequest graphQLRequest, SubscriptionSession session) {
    return new GraphQLSingleInvocationInput(
        graphQLRequest,
        getSchemaProviderSupplier().get().getSchema(),
        ((GraphQLSpringWebfluxContextBuilder) getContextBuilderSupplier().get())
            .build((WebSocketSession) session.unwrap()),
        ((GraphQLSpringWebfluxRootObjectBuilder) getRootObjectBuilderSupplier().get())
            .build((WebSocketSession) session.unwrap()));
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy