Skip to content

Commit 3a0c18b

Browse files
Added validationRules argument to graphql and graphqlSubscribe
1 parent b82fa62 commit 3a0c18b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Sources/GraphQL/GraphQL.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public func graphql(
7878
mutationStrategy: MutationFieldExecutionStrategy = SerialFieldExecutionStrategy(),
7979
subscriptionStrategy: SubscriptionFieldExecutionStrategy = SerialFieldExecutionStrategy(),
8080
instrumentation: Instrumentation = NoOpInstrumentation,
81+
validationRules: [(ValidationContext) -> Visitor] = [],
8182
schema: GraphQLSchema,
8283
request: String,
8384
rootValue: Any = (),
@@ -89,7 +90,7 @@ public func graphql(
8990

9091
let source = Source(body: request, name: "GraphQL request")
9192
let documentAST = try parse(instrumentation: instrumentation, source: source)
92-
let validationErrors = validate(instrumentation: instrumentation, schema: schema, ast: documentAST)
93+
let validationErrors = validate(instrumentation: instrumentation, schema: schema, ast: documentAST, rules: validationRules)
9394

9495
guard validationErrors.isEmpty else {
9596
return eventLoopGroup.next().makeSucceededFuture(GraphQLResult(errors: validationErrors))
@@ -195,6 +196,7 @@ public func graphqlSubscribe(
195196
mutationStrategy: MutationFieldExecutionStrategy = SerialFieldExecutionStrategy(),
196197
subscriptionStrategy: SubscriptionFieldExecutionStrategy = SerialFieldExecutionStrategy(),
197198
instrumentation: Instrumentation = NoOpInstrumentation,
199+
validationRules: [(ValidationContext) -> Visitor] = [],
198200
schema: GraphQLSchema,
199201
request: String,
200202
rootValue: Any = (),
@@ -206,7 +208,7 @@ public func graphqlSubscribe(
206208

207209
let source = Source(body: request, name: "GraphQL Subscription request")
208210
let documentAST = try parse(instrumentation: instrumentation, source: source)
209-
let validationErrors = validate(instrumentation: instrumentation, schema: schema, ast: documentAST)
211+
let validationErrors = validate(instrumentation: instrumentation, schema: schema, ast: documentAST, rules: validationRules)
210212

211213
guard validationErrors.isEmpty else {
212214
return eventLoopGroup.next().makeSucceededFuture(SubscriptionResult(errors: validationErrors))

0 commit comments

Comments
 (0)