File tree Expand file tree Collapse file tree 4 files changed +22
-23
lines changed
graphql-kotlin-client/src/main/kotlin/com/expediagroup/graphql/client/extensions
graphql-kotlin-ktor-client/src/main/kotlin/com/expediagroup/graphql/client/ktor
graphql-kotlin-spring-client/src/main/kotlin/com/expediagroup/graphql/client/spring
executions/graphql-kotlin-automatic-persisted-queries/src/main/kotlin/com/expediagroup/graphql/apq/extensions Expand file tree Collapse file tree 4 files changed +22
-23
lines changed Original file line number Diff line number Diff line change @@ -6,18 +6,18 @@ import java.math.BigInteger
6
6
import java.nio.charset.StandardCharsets
7
7
import java.security.MessageDigest
8
8
9
- internal val MESSAGE_DIGEST : MessageDigest = MessageDigest .getInstance(" SHA-256" )
10
-
11
- fun GraphQLClientRequest <* >.getQueryId (): String =
12
- String .format(
9
+ fun GraphQLClientRequest <* >.getQueryId (): String {
10
+ val messageDigest = MessageDigest .getInstance(" SHA-256" )
11
+ return String .format(
13
12
" %064x" ,
14
- BigInteger (1 , MESSAGE_DIGEST .digest(this .query?.toByteArray(StandardCharsets .UTF_8 )))
15
- ).also {
16
- MESSAGE_DIGEST .reset()
17
- }
13
+ BigInteger (1 , messageDigest.digest(this .query?.toByteArray(StandardCharsets .UTF_8 )))
14
+ )
15
+ }
16
+
17
+ fun AutomaticPersistedQueriesExtension.toQueryParamString (): String =
18
+ """ {"persistedQuery":{"version":$version ,"sha256Hash":"$sha256Hash "}}"""
18
19
19
- fun AutomaticPersistedQueriesExtension.toQueryParamString () = """ {"persistedQuery":{"version":$version ,"sha256Hash":"$sha256Hash "}}"""
20
- fun AutomaticPersistedQueriesExtension.toExtentionsBodyMap () = mapOf (
20
+ fun AutomaticPersistedQueriesExtension.toExtensionsBodyMap (): Map <String , Map <String , Any >> = mapOf (
21
21
" persistedQuery" to mapOf (
22
22
" version" to version,
23
23
" sha256Hash" to sha256Hash
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ package com.expediagroup.graphql.client.ktor
18
18
19
19
import com.expediagroup.graphql.client.GraphQLClient
20
20
import com.expediagroup.graphql.client.extensions.getQueryId
21
- import com.expediagroup.graphql.client.extensions.toExtentionsBodyMap
21
+ import com.expediagroup.graphql.client.extensions.toExtensionsBodyMap
22
22
import com.expediagroup.graphql.client.extensions.toQueryParamString
23
23
import com.expediagroup.graphql.client.serializer.GraphQLClientSerializer
24
24
import com.expediagroup.graphql.client.serializer.defaultGraphQLSerializer
@@ -60,8 +60,8 @@ open class GraphQLKtorClient(
60
60
sha256Hash = queryId
61
61
)
62
62
val extensions = request.extensions?.let {
63
- automaticPersistedQueriesExtension.toExtentionsBodyMap ().plus(it)
64
- } ? : automaticPersistedQueriesExtension.toExtentionsBodyMap ()
63
+ automaticPersistedQueriesExtension.toExtensionsBodyMap ().plus(it)
64
+ } ? : automaticPersistedQueriesExtension.toExtensionsBodyMap ()
65
65
66
66
val apqRawResultWithoutQuery: String = when (automaticPersistedQueriesSettings.httpMethod) {
67
67
is AutomaticPersistedQueriesSettings .HttpMethod .GET -> {
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ package com.expediagroup.graphql.client.spring
18
18
19
19
import com.expediagroup.graphql.client.GraphQLClient
20
20
import com.expediagroup.graphql.client.extensions.getQueryId
21
- import com.expediagroup.graphql.client.extensions.toExtentionsBodyMap
21
+ import com.expediagroup.graphql.client.extensions.toExtensionsBodyMap
22
22
import com.expediagroup.graphql.client.extensions.toQueryParamString
23
23
import com.expediagroup.graphql.client.serializer.GraphQLClientSerializer
24
24
import com.expediagroup.graphql.client.serializer.defaultGraphQLSerializer
@@ -63,8 +63,8 @@ open class GraphQLWebClient(
63
63
sha256Hash = queryId
64
64
)
65
65
val extensions = request.extensions?.let {
66
- automaticPersistedQueriesExtension.toExtentionsBodyMap ().plus(it)
67
- } ? : automaticPersistedQueriesExtension.toExtentionsBodyMap ()
66
+ automaticPersistedQueriesExtension.toExtensionsBodyMap ().plus(it)
67
+ } ? : automaticPersistedQueriesExtension.toExtensionsBodyMap ()
68
68
69
69
val apqRawResultWithoutQuery: String = when (automaticPersistedQueriesSettings.httpMethod) {
70
70
is AutomaticPersistedQueriesSettings .HttpMethod .GET -> {
Original file line number Diff line number Diff line change @@ -23,7 +23,6 @@ import java.nio.charset.StandardCharsets
23
23
import java.security.MessageDigest
24
24
25
25
internal const val APQ_EXTENSION_KEY : String = " persistedQuery"
26
- internal val MESSAGE_DIGEST : MessageDigest = MessageDigest .getInstance(" SHA-256" )
27
26
28
27
@Suppress(" UNCHECKED_CAST" )
29
28
fun ExecutionInput.getAutomaticPersistedQueriesExtension (): AutomaticPersistedQueriesExtension ? =
@@ -34,13 +33,13 @@ fun ExecutionInput.getAutomaticPersistedQueriesExtension(): AutomaticPersistedQu
34
33
null
35
34
}
36
35
37
- fun ExecutionInput.getQueryId (): String =
38
- String .format(
36
+ fun ExecutionInput.getQueryId (): String {
37
+ val messageDigest = MessageDigest .getInstance(" SHA-256" )
38
+ return String .format(
39
39
" %064x" ,
40
- BigInteger (1 , MESSAGE_DIGEST .digest(this .query.toByteArray(StandardCharsets .UTF_8 )))
41
- ).also {
42
- MESSAGE_DIGEST .reset()
43
- }
40
+ BigInteger (1 , messageDigest.digest(this .query.toByteArray(StandardCharsets .UTF_8 )))
41
+ )
42
+ }
44
43
45
44
fun ExecutionInput.isAutomaticPersistedQueriesExtensionInvalid (
46
45
extension : AutomaticPersistedQueriesExtension
You can’t perform that action at this time.
0 commit comments