1
- import { AxiosError , AxiosInstance , AxiosResponse , AxiosRequestConfig } from 'axios'
1
+ import { AxiosError , AxiosInstance , AxiosRequestConfig , AxiosResponse } from 'axios'
2
2
import { FORMAT_HTTP_HEADERS , Span } from 'opentracing'
3
3
import { createSpanReference , ErrorReport } from '../../../../../../tracing'
4
4
import { SpanReferenceTypes } from '../../../../../../tracing/spanReference/SpanReferenceTypes'
@@ -31,6 +31,7 @@ const preRequestInterceptor = (http: AxiosInstance) => (
31
31
}
32
32
33
33
const { tracer, rootSpan, requestSpanNameSuffix } = config . tracing
34
+
34
35
const spanName = requestSpanNameSuffix ? `${ requestSpanPrefix } :${ requestSpanNameSuffix } ` : requestSpanPrefix
35
36
36
37
const span = rootSpan
@@ -43,7 +44,6 @@ const preRequestInterceptor = (http: AxiosInstance) => (
43
44
44
45
config . tracing . requestSpan = span
45
46
tracer . inject ( span , FORMAT_HTTP_HEADERS , config . headers )
46
-
47
47
return config
48
48
}
49
49
@@ -55,7 +55,6 @@ const onResponseSuccess = (response: TraceableAxiosResponse): TraceableAxiosResp
55
55
const requestSpan = response . config . tracing ?. requestSpan
56
56
injectResponseInfoOnSpan ( requestSpan , response )
57
57
requestSpan ?. finish ( )
58
-
59
58
return response
60
59
}
61
60
@@ -68,24 +67,17 @@ const onResponseError = (err: ExtendedAxiosError) => {
68
67
injectResponseInfoOnSpan ( requestSpan , err . response )
69
68
ErrorReport . create ( { originalError : err } ) . injectOnSpan ( requestSpan , err . config . tracing . logger )
70
69
requestSpan . finish ( )
71
-
72
70
return Promise . reject ( err )
73
71
}
74
72
75
73
export const addTracingPreRequestInterceptor = ( http : AxiosInstance ) => {
76
- const requestTracingInterceptor = http . interceptors . request . use (
77
- preRequestInterceptor ( http ) as any ,
78
- undefined
79
- )
74
+ const requestTracingInterceptor = http . interceptors . request . use ( preRequestInterceptor ( http ) , undefined )
80
75
81
76
return { requestTracingInterceptor }
82
77
}
83
78
84
79
export const addTracingResponseInterceptor = ( http : AxiosInstance ) => {
85
- const responseTracingInterceptor = http . interceptors . response . use (
86
- onResponseSuccess as any ,
87
- onResponseError as any
88
- )
80
+ const responseTracingInterceptor = http . interceptors . response . use ( onResponseSuccess , onResponseError )
89
81
90
82
return { responseTracingInterceptor }
91
83
}
0 commit comments