Module evita.external.api.graphql
Class GraphQLSchemaHandler
java.lang.Object
io.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
io.evitadb.externalApi.graphql.io.GraphQLSchemaHandler
- All Implemented Interfaces:
com.linecorp.armeria.common.util.Unwrappable,com.linecorp.armeria.server.HttpService,com.linecorp.armeria.server.Service<com.linecorp.armeria.common.HttpRequest,com.linecorp.armeria.common.HttpResponse>
public class GraphQLSchemaHandler
extends io.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
HTTP request handler for returning
GraphQLSchema as a DSL string using passed
configured instance of GraphQL.- Author:
- Lukáš Hornych, FG Forrest a.s. 2023
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContextcreateExecutionContext(com.linecorp.armeria.common.HttpRequest httpRequest) protected <T extends io.evitadb.externalApi.exception.ExternalApiInternalError>
TcreateInternalError(String message) protected <T extends io.evitadb.externalApi.exception.ExternalApiInternalError>
TcreateInternalError(String message, Throwable cause) protected <T extends io.evitadb.externalApi.exception.ExternalApiInvalidUsageException>
TcreateInvalidUsageException(String message) protected CompletableFuture<io.evitadb.externalApi.http.EndpointResponse>doHandleRequest(io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext executionContext) Set<com.linecorp.armeria.common.HttpMethod>protected voidwriteResponse(io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext executionContext, com.linecorp.armeria.common.HttpResponseWriter responseWriter, Object response, io.netty.channel.EventLoop eventExecutors) Methods inherited from class io.evitadb.externalApi.http.EndpointHandler
afterRequestHandled, beforeRequestHandled, getSupportedRequestContentTypes, parseRequestBody, readRawRequestBody, serve, validateRequestMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.linecorp.armeria.server.HttpService
decorate, decorate, exchangeType, optionsMethods inherited from interface com.linecorp.armeria.server.Service
as, serviceAdded, shouldCachePath, unwrapMethods inherited from interface com.linecorp.armeria.common.util.Unwrappable
equalsIgnoreWrapper, unwrapAll
-
Constructor Details
-
GraphQLSchemaHandler
public GraphQLSchemaHandler(@Nonnull Evita evita, @Nonnull AtomicReference<graphql.GraphQL> graphQL)
-
-
Method Details
-
createExecutionContext
@Nonnull protected io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext createExecutionContext(@Nonnull com.linecorp.armeria.common.HttpRequest httpRequest) - Specified by:
createExecutionContextin classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-
doHandleRequest
@Nonnull protected CompletableFuture<io.evitadb.externalApi.http.EndpointResponse> doHandleRequest(@Nonnull io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext executionContext) - Specified by:
doHandleRequestin classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-
createInternalError
@Nonnull protected <T extends io.evitadb.externalApi.exception.ExternalApiInternalError> T createInternalError(@Nonnull String message) - Specified by:
createInternalErrorin classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-
createInternalError
@Nonnull protected <T extends io.evitadb.externalApi.exception.ExternalApiInternalError> T createInternalError(@Nonnull String message, @Nonnull Throwable cause) - Specified by:
createInternalErrorin classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-
createInvalidUsageException
@Nonnull protected <T extends io.evitadb.externalApi.exception.ExternalApiInvalidUsageException> T createInvalidUsageException(@Nonnull String message) - Specified by:
createInvalidUsageExceptionin classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-
getSupportedHttpMethods
- Specified by:
getSupportedHttpMethodsin classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-
getSupportedResponseContentTypes
- Overrides:
getSupportedResponseContentTypesin classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-
writeResponse
protected void writeResponse(@Nonnull io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext executionContext, @Nonnull com.linecorp.armeria.common.HttpResponseWriter responseWriter, @Nonnull Object response, @Nonnull io.netty.channel.EventLoop eventExecutors) - Overrides:
writeResponsein classio.evitadb.externalApi.http.EndpointHandler<io.evitadb.externalApi.graphql.io.GraphQLSchemaEndpointExecutionContext>
-