JSONRequest
CLASS
JSONRequest
1open class JSONRequest<Operation: GraphQLOperation>: HTTPRequest<Operation>
A request which sends JSON related to a GraphQL operation.
Properties
requestBodyCreator
1public let requestBodyCreator: RequestBodyCreator
autoPersistQueries
1public let autoPersistQueries: Bool
useGETForQueries
1public let useGETForQueries: Bool
useGETForPersistedQueryRetry
1public let useGETForPersistedQueryRetry: Bool
isPersistedQueryRetry
1public var isPersistedQueryRetry = false
body
1public var body: GraphQLMap
serializationFormat
1public let serializationFormat = JSONSerializationFormat.self
sendOperationIdentifier
1open var sendOperationIdentifier: Bool
Methods
init(operation:graphQLEndpoint:contextIdentifier:clientName:clientVersion:additionalHeaders:cachePolicy:autoPersistQueries:useGETForQueries:useGETForPersistedQueryRetry:requestBodyCreator:)
1public init(operation: Operation,
2 graphQLEndpoint: URL,
3 contextIdentifier: UUID? = nil,
4 clientName: String,
5 clientVersion: String,
6 additionalHeaders: [String: String] = [:],
7 cachePolicy: CachePolicy = .default,
8 autoPersistQueries: Bool = false,
9 useGETForQueries: Bool = false,
10 useGETForPersistedQueryRetry: Bool = false,
11 requestBodyCreator: RequestBodyCreator = ApolloRequestBodyCreator())
Designated initializer
Parameters:
operation: The GraphQL Operation to execute
graphQLEndpoint: The endpoint to make a GraphQL request to
contextIdentifier: [optional] A unique identifier for this request, to help with deduping cache hits for watchers. Defaults to
nil
.clientName: The name of the client to send with the
"apollographql-client-name"
headerclientVersion: The version of the client to send with the
"apollographql-client-version"
headeradditionalHeaders: Any additional headers you wish to add by default to this request
cachePolicy: The
CachePolicy
to use for this request.autoPersistQueries:
true
if Auto-Persisted Queries should be used. Defaults tofalse
.useGETForQueries:
true
if Queries should useGET
instead ofPOST
for HTTP requests. Defaults tofalse
.useGETForPersistedQueryRetry:
true
if when an Auto-Persisted query is retried, it should useGET
instead ofPOST
to send the query. Defaults tofalse
.requestBodyCreator: An object conforming to the
RequestBodyCreator
protocol to assist with creating the request body. Defaults to the providedApolloRequestBodyCreator
implementation.
Parameters
Name | Description |
---|---|
operation | The GraphQL Operation to execute |
graphQLEndpoint | The endpoint to make a GraphQL request to |
contextIdentifier | [optional] A unique identifier for this request, to help with deduping cache hits for watchers. Defaults to nil . |
clientName | The name of the client to send with the "apollographql-client-name" header |
clientVersion | The version of the client to send with the "apollographql-client-version" header |
additionalHeaders | Any additional headers you wish to add by default to this request |
cachePolicy | The CachePolicy to use for this request. |
autoPersistQueries | true if Auto-Persisted Queries should be used. Defaults to false . |
useGETForQueries | true if Queries should use GET instead of POST for HTTP requests. Defaults to false . |
useGETForPersistedQueryRetry | true if when an Auto-Persisted query is retried, it should use GET instead of POST to send the query. Defaults to false . |
requestBodyCreator | An object conforming to the RequestBodyCreator protocol to assist with creating the request body. Defaults to the provided ApolloRequestBodyCreator implementation. |
toURLRequest()
1open override func toURLRequest() throws -> URLRequest