@@ -20,6 +20,7 @@ import io.sentry.SpanStatus
2020import io.sentry.TypeCheckHint
2121import io.sentry.util.PropagationTargetsUtils
2222import io.sentry.util.UrlUtils
23+ import io.sentry.vendor.Base64
2324
2425class SentryApollo3HttpInterceptor @JvmOverloads constructor(private val hub : IHub = HubAdapter .getInstance(), private val beforeSpan : BeforeSpanCallback ? = null ) :
2526 HttpInterceptor , IntegrationName {
@@ -96,10 +97,14 @@ class SentryApollo3HttpInterceptor @JvmOverloads constructor(private val hub: IH
9697 val method = request.method
9798
9899 val operationName = operationNameFromHeaders(request)
99- val operationType = request.valueForHeader(SENTRY_APOLLO_3_OPERATION_TYPE )
100+ val operationType = request.valueForHeader(SENTRY_APOLLO_3_OPERATION_TYPE )?.let {
101+ String (Base64 .decode(it, Base64 .DEFAULT ))
102+ }
100103 val operation = if (operationType != null ) " http.graphql.$operationType " else " http.graphql"
101104 val operationId = request.valueForHeader(" X-APOLLO-OPERATION-ID" )
102- val variables = request.valueForHeader(SENTRY_APOLLO_3_VARIABLES )
105+ val variables = request.valueForHeader(SENTRY_APOLLO_3_VARIABLES )?.let {
106+ String (Base64 .decode(it, Base64 .DEFAULT ))
107+ }
103108 val description = " ${operationType ? : method} ${operationName ? : urlDetails.urlOrFallback} "
104109
105110 return activeSpan.startChild(operation, description).apply {
@@ -116,7 +121,9 @@ class SentryApollo3HttpInterceptor @JvmOverloads constructor(private val hub: IH
116121 }
117122
118123 private fun operationNameFromHeaders (request : HttpRequest ): String? {
119- return request.valueForHeader(SENTRY_APOLLO_3_OPERATION_NAME ) ? : request.valueForHeader(" X-APOLLO-OPERATION-NAME" )
124+ return request.valueForHeader(SENTRY_APOLLO_3_OPERATION_NAME )?.let {
125+ String (Base64 .decode(it, Base64 .DEFAULT ))
126+ } ? : request.valueForHeader(" X-APOLLO-OPERATION-NAME" )
120127 }
121128
122129 private fun HttpRequest.valueForHeader (key : String ) = headers.firstOrNull { it.name == key }?.value
0 commit comments