@@ -60,11 +60,16 @@ def send(self, request, **kwargs):
6060 ),
6161 origin = HttpxIntegration .origin ,
6262 ) as span :
63- span .set_data (SPANDATA .HTTP_METHOD , request .method )
63+ data = {
64+ SPANDATA .HTTP_METHOD : request .method ,
65+ }
6466 if parsed_url is not None :
65- span .set_data ("url" , parsed_url .url )
66- span .set_data (SPANDATA .HTTP_QUERY , parsed_url .query )
67- span .set_data (SPANDATA .HTTP_FRAGMENT , parsed_url .fragment )
67+ data ["url" ] = parsed_url .url
68+ data [SPANDATA .HTTP_QUERY ] = parsed_url .query
69+ data [SPANDATA .HTTP_FRAGMENT ] = parsed_url .fragment
70+
71+ for key , value in data .items ():
72+ span .set_data (key , value )
6873
6974 if should_propagate_trace (sentry_sdk .get_client (), str (request .url )):
7075 for (
@@ -89,6 +94,15 @@ def send(self, request, **kwargs):
8994 span .set_http_status (rv .status_code )
9095 span .set_data ("reason" , rv .reason_phrase )
9196
97+ data [SPANDATA .HTTP_STATUS_CODE ] = rv .status_code
98+ data ["reason" ] = rv .reason_phrase
99+
100+ sentry_sdk .add_breadcrumb (
101+ type = "http" ,
102+ category = "httplib" ,
103+ data = data ,
104+ )
105+
92106 return rv
93107
94108 Client .send = send
@@ -116,11 +130,16 @@ async def send(self, request, **kwargs):
116130 ),
117131 origin = HttpxIntegration .origin ,
118132 ) as span :
119- span .set_data (SPANDATA .HTTP_METHOD , request .method )
133+ data = {
134+ SPANDATA .HTTP_METHOD : request .method ,
135+ }
120136 if parsed_url is not None :
121- span .set_data ("url" , parsed_url .url )
122- span .set_data (SPANDATA .HTTP_QUERY , parsed_url .query )
123- span .set_data (SPANDATA .HTTP_FRAGMENT , parsed_url .fragment )
137+ data ["url" ] = parsed_url .url
138+ data [SPANDATA .HTTP_QUERY ] = parsed_url .query
139+ data [SPANDATA .HTTP_FRAGMENT ] = parsed_url .fragment
140+
141+ for key , value in data .items ():
142+ span .set_data (key , value )
124143
125144 if should_propagate_trace (sentry_sdk .get_client (), str (request .url )):
126145 for (
@@ -145,6 +164,15 @@ async def send(self, request, **kwargs):
145164 span .set_http_status (rv .status_code )
146165 span .set_data ("reason" , rv .reason_phrase )
147166
167+ data [SPANDATA .HTTP_STATUS_CODE ] = rv .status_code
168+ data ["reason" ] = rv .reason_phrase
169+
170+ sentry_sdk .add_breadcrumb (
171+ type = "http" ,
172+ category = "httplib" ,
173+ data = data ,
174+ )
175+
148176 return rv
149177
150178 AsyncClient .send = send
0 commit comments