@@ -38,100 +38,96 @@ impl CurlHttpTransport {
3838 let accept_invalid_certs = options. accept_invalid_certs ;
3939
4040 let mut handle = client;
41- let thread = TransportThread :: new (
42- options,
43- move |envelope, rl| {
44- handle. reset ( ) ;
45- handle. url ( & url) . unwrap ( ) ;
46- handle. custom_request ( "POST" ) . unwrap ( ) ;
47-
48- if accept_invalid_certs {
49- handle. ssl_verify_host ( false ) . unwrap ( ) ;
50- handle. ssl_verify_peer ( false ) . unwrap ( ) ;
51- }
52-
53- match ( scheme, & http_proxy, & https_proxy) {
54- ( Scheme :: Https , _, Some ( proxy) ) => {
55- if let Err ( err) = handle. proxy ( proxy) {
56- sentry_debug ! ( "invalid proxy: {:?}" , err) ;
57- }
41+ let thread = TransportThread :: new ( options, move |envelope, rl| {
42+ handle. reset ( ) ;
43+ handle. url ( & url) . unwrap ( ) ;
44+ handle. custom_request ( "POST" ) . unwrap ( ) ;
45+
46+ if accept_invalid_certs {
47+ handle. ssl_verify_host ( false ) . unwrap ( ) ;
48+ handle. ssl_verify_peer ( false ) . unwrap ( ) ;
49+ }
50+
51+ match ( scheme, & http_proxy, & https_proxy) {
52+ ( Scheme :: Https , _, Some ( proxy) ) => {
53+ if let Err ( err) = handle. proxy ( proxy) {
54+ sentry_debug ! ( "invalid proxy: {:?}" , err) ;
5855 }
59- ( _ , Some ( proxy ) , _ ) => {
60- if let Err ( err ) = handle . proxy ( proxy) {
61- sentry_debug ! ( "invalid proxy: {:?}" , err ) ;
62- }
56+ }
57+ ( _ , Some ( proxy) , _ ) => {
58+ if let Err ( err ) = handle . proxy ( proxy) {
59+ sentry_debug ! ( "invalid proxy: {:?}" , err ) ;
6360 }
64- _ => { }
6561 }
66-
67- let mut body = Vec :: new ( ) ;
68- envelope. to_writer ( & mut body) . unwrap ( ) ;
69- let mut body = Cursor :: new ( body) ;
70-
71- let mut retry_after = None ;
72- let mut sentry_header = None ;
73- let mut headers = curl:: easy:: List :: new ( ) ;
74- headers. append ( & format ! ( "X-Sentry-Auth: {auth}" ) ) . unwrap ( ) ;
75- headers. append ( "Expect:" ) . unwrap ( ) ;
76- handle. http_headers ( headers) . unwrap ( ) ;
77- handle. upload ( true ) . unwrap ( ) ;
78- handle. in_filesize ( body. get_ref ( ) . len ( ) as u64 ) . unwrap ( ) ;
79- handle
80- . read_function ( move |buf| Ok ( body. read ( buf) . unwrap_or ( 0 ) ) )
81- . unwrap ( ) ;
82- handle. verbose ( true ) . unwrap ( ) ;
62+ _ => { }
63+ }
64+
65+ let mut body = Vec :: new ( ) ;
66+ envelope. to_writer ( & mut body) . unwrap ( ) ;
67+ let mut body = Cursor :: new ( body) ;
68+
69+ let mut retry_after = None ;
70+ let mut sentry_header = None ;
71+ let mut headers = curl:: easy:: List :: new ( ) ;
72+ headers. append ( & format ! ( "X-Sentry-Auth: {auth}" ) ) . unwrap ( ) ;
73+ headers. append ( "Expect:" ) . unwrap ( ) ;
74+ handle. http_headers ( headers) . unwrap ( ) ;
75+ handle. upload ( true ) . unwrap ( ) ;
76+ handle. in_filesize ( body. get_ref ( ) . len ( ) as u64 ) . unwrap ( ) ;
77+ handle
78+ . read_function ( move |buf| Ok ( body. read ( buf) . unwrap_or ( 0 ) ) )
79+ . unwrap ( ) ;
80+ handle. verbose ( true ) . unwrap ( ) ;
81+ handle
82+ . debug_function ( move |info, data| {
83+ let prefix = match info {
84+ curl:: easy:: InfoType :: HeaderIn => "< " ,
85+ curl:: easy:: InfoType :: HeaderOut => "> " ,
86+ curl:: easy:: InfoType :: DataOut => "" ,
87+ _ => return ,
88+ } ;
89+ sentry_debug ! ( "curl: {}{}" , prefix, String :: from_utf8_lossy( data) . trim( ) ) ;
90+ } )
91+ . unwrap ( ) ;
92+
93+ {
94+ let mut handle = handle. transfer ( ) ;
95+ let retry_after_setter = & mut retry_after;
96+ let sentry_header_setter = & mut sentry_header;
8397 handle
84- . debug_function ( move |info, data| {
85- let prefix = match info {
86- curl:: easy:: InfoType :: HeaderIn => "< " ,
87- curl:: easy:: InfoType :: HeaderOut => "> " ,
88- curl:: easy:: InfoType :: DataOut => "" ,
89- _ => return ,
90- } ;
91- sentry_debug ! ( "curl: {}{}" , prefix, String :: from_utf8_lossy( data) . trim( ) ) ;
92- } )
93- . unwrap ( ) ;
94-
95- {
96- let mut handle = handle. transfer ( ) ;
97- let retry_after_setter = & mut retry_after;
98- let sentry_header_setter = & mut sentry_header;
99- handle
100- . header_function ( move |data| {
101- if let Ok ( data) = std:: str:: from_utf8 ( data) {
102- let mut iter = data. split ( ':' ) ;
103- if let Some ( key) = iter. next ( ) . map ( str:: to_lowercase) {
104- if key == "retry-after" {
105- * retry_after_setter =
106- iter. next ( ) . map ( |x| x. trim ( ) . to_string ( ) ) ;
107- } else if key == "x-sentry-rate-limits" {
108- * sentry_header_setter =
109- iter. next ( ) . map ( |x| x. trim ( ) . to_string ( ) ) ;
110- }
98+ . header_function ( move |data| {
99+ if let Ok ( data) = std:: str:: from_utf8 ( data) {
100+ let mut iter = data. split ( ':' ) ;
101+ if let Some ( key) = iter. next ( ) . map ( str:: to_lowercase) {
102+ if key == "retry-after" {
103+ * retry_after_setter = iter. next ( ) . map ( |x| x. trim ( ) . to_string ( ) ) ;
104+ } else if key == "x-sentry-rate-limits" {
105+ * sentry_header_setter =
106+ iter. next ( ) . map ( |x| x. trim ( ) . to_string ( ) ) ;
111107 }
112108 }
113- true
114- } )
115- . unwrap ( ) ;
116- handle. perform ( ) . ok ( ) ;
117- }
118-
119- match handle. response_code ( ) {
120- Ok ( response_code) => {
121- if let Some ( sentry_header) = sentry_header {
122- rl. update_from_sentry_header ( & sentry_header) ;
123- } else if let Some ( retry_after) = retry_after {
124- rl. update_from_retry_after ( & retry_after) ;
125- } else if response_code == 429 {
126- rl. update_from_429 ( ) ;
127109 }
110+ true
111+ } )
112+ . unwrap ( ) ;
113+ handle. perform ( ) . ok ( ) ;
114+ }
115+
116+ match handle. response_code ( ) {
117+ Ok ( response_code) => {
118+ if let Some ( sentry_header) = sentry_header {
119+ rl. update_from_sentry_header ( & sentry_header) ;
120+ } else if let Some ( retry_after) = retry_after {
121+ rl. update_from_retry_after ( & retry_after) ;
122+ } else if response_code == 429 {
123+ rl. update_from_429 ( ) ;
128124 }
129- Err ( err) => {
130- sentry_debug ! ( "Failed to send envelope: {}" , err) ;
131- }
132125 }
133- } ,
134- ) ;
126+ Err ( err) => {
127+ sentry_debug ! ( "Failed to send envelope: {}" , err) ;
128+ }
129+ }
130+ } ) ;
135131 Self { thread }
136132 }
137133}
0 commit comments