@@ -38,12 +38,23 @@ private async Task<ScriptResult<TR>> ParseResponse<TR>(HttpResponseMessage call,
38
38
logger . LogInformation ( await call . Content . ReadAsStringAsync ( cancellationToken ) . ConfigureAwait ( false ) ) ;
39
39
call . EnsureSuccessStatusCode ( ) ;
40
40
}
41
- var result = await call . Content . ReadFromJsonAsync ( jsonTypeInfo , cancellationToken ) . ConfigureAwait ( false ) ;
42
- if ( result ? . Error is not null )
41
+ try
42
+ {
43
+ var result = await call . Content . ReadFromJsonAsync ( jsonTypeInfo , cancellationToken ) . ConfigureAwait ( false ) ;
44
+ if ( result ? . Error is not null )
45
+ {
46
+ Activity . Current ? . SetStatus ( ActivityStatusCode . Error ) ;
47
+ }
48
+ return result ?? throw new IOException ( "Could not deserialize result" ) ;
49
+ } catch ( OperationCanceledException e )
50
+ {
51
+ throw ;
52
+ } catch ( Exception e )
43
53
{
44
54
Activity . Current ? . SetStatus ( ActivityStatusCode . Error ) ;
55
+ Activity . Current ? . AddException ( e ) ;
56
+ throw ;
45
57
}
46
- return result ?? throw new IOException ( "Could not deserialize result" ) ;
47
58
}
48
59
49
60
[ RequiresUnreferencedCode ( "JSON" ) ]
@@ -85,12 +96,23 @@ private async Task<ScriptResult<TR>> ParseResponse<TR>(HttpResponseMessage call,
85
96
logger . LogInformation ( await call . Content . ReadAsStringAsync ( cancellationToken ) . ConfigureAwait ( false ) ) ;
86
97
call . EnsureSuccessStatusCode ( ) ;
87
98
}
88
- var result = ( ScriptResult < TR > ? ) await call . Content . ReadFromJsonAsync ( typeof ( ScriptResult < TR > ) , retOptions , cancellationToken ) . ConfigureAwait ( false ) ;
89
- if ( result ? . Error is not null )
99
+ try
100
+ {
101
+ var result = ( ScriptResult < TR > ? ) await call . Content . ReadFromJsonAsync ( typeof ( ScriptResult < TR > ) , retOptions , cancellationToken ) . ConfigureAwait ( false ) ;
102
+ if ( result ? . Error is not null )
103
+ {
104
+ Activity . Current ? . SetStatus ( ActivityStatusCode . Error ) ;
105
+ }
106
+ return result ?? throw new IOException ( "Could not deserialize result" ) ;
107
+ } catch ( OperationCanceledException e )
108
+ {
109
+ throw ;
110
+ } catch ( Exception e )
90
111
{
91
112
Activity . Current ? . SetStatus ( ActivityStatusCode . Error ) ;
113
+ Activity . Current ? . AddException ( e ) ;
114
+ throw ;
92
115
}
93
- return result ?? throw new IOException ( "Could not deserialize result" ) ;
94
116
}
95
117
96
118
protected abstract ValueTask < string > GetPath ( string scriptName , string ? additionalParameters = null ) ;
0 commit comments