@@ -94,57 +94,49 @@ function createRequestExecutor(
94
94
) : TransportRequestExecutor {
95
95
const { hostname, pathname, port, protocol } = new URL ( options . url ) ;
96
96
97
- // This function is extracted because we want to keep the actual `makeRequest` function as light-weight as possible
98
- function performHttpRequest (
99
- callback : ( transportMakeRequestResponse : TransportMakeRequestResponse ) => void ,
100
- ) : HTTPModuleClientRequest {
101
- return httpModule . request (
102
- {
103
- method : 'POST' ,
104
- agent,
105
- headers : options . headers ,
106
- hostname,
107
- pathname,
108
- port,
109
- protocol,
110
- ca : options . caCerts ? fs . readFileSync ( options . caCerts ) : undefined ,
111
- } ,
112
- res => {
113
- res . on ( 'data' , ( ) => {
114
- // Drain socket
115
- } ) ;
116
-
117
- res . on ( 'end' , ( ) => {
118
- // Drain socket
119
- } ) ;
120
-
121
- const statusCode = res . statusCode ?? 500 ;
122
- const status = eventStatusFromHttpCode ( statusCode ) ;
123
-
124
- res . setEncoding ( 'utf8' ) ;
125
-
126
- /**
127
- * "Key-value pairs of header names and values. Header names are lower-cased."
128
- * https://nodejs.org/api/http.html#http_message_headers
129
- */
130
- const retryAfterHeader = res . headers [ 'retry-after' ] ?? null ;
131
- const rateLimitsHeader = res . headers [ 'x-sentry-rate-limits' ] ?? null ;
132
-
133
- callback ( {
134
- headers : {
135
- 'retry-after' : retryAfterHeader ,
136
- 'x-sentry-rate-limits' : Array . isArray ( rateLimitsHeader ) ? rateLimitsHeader [ 0 ] : rateLimitsHeader ,
137
- } ,
138
- reason : status ,
139
- statusCode : statusCode ,
140
- } ) ;
141
- } ,
142
- ) ;
143
- }
144
-
145
97
return function makeRequest ( request : TransportRequest ) : Promise < TransportMakeRequestResponse > {
146
98
return new Promise ( ( resolve , reject ) => {
147
- const req = performHttpRequest ( resolve ) ;
99
+ const req = httpModule . request (
100
+ {
101
+ method : 'POST' ,
102
+ agent,
103
+ headers : options . headers ,
104
+ hostname,
105
+ pathname,
106
+ port,
107
+ protocol,
108
+ ca : options . caCerts ? fs . readFileSync ( options . caCerts ) : undefined ,
109
+ } ,
110
+ res => {
111
+ res . on ( 'data' , ( ) => {
112
+ // Drain socket
113
+ } ) ;
114
+
115
+ res . on ( 'end' , ( ) => {
116
+ // Drain socket
117
+ } ) ;
118
+
119
+ const statusCode = res . statusCode ?? 500 ;
120
+ const status = eventStatusFromHttpCode ( statusCode ) ;
121
+
122
+ res . setEncoding ( 'utf8' ) ;
123
+
124
+ // "Key-value pairs of header names and values. Header names are lower-cased."
125
+ // https://nodejs.org/api/http.html#http_message_headers
126
+ const retryAfterHeader = res . headers [ 'retry-after' ] ?? null ;
127
+ const rateLimitsHeader = res . headers [ 'x-sentry-rate-limits' ] ?? null ;
128
+
129
+ resolve ( {
130
+ headers : {
131
+ 'retry-after' : retryAfterHeader ,
132
+ 'x-sentry-rate-limits' : Array . isArray ( rateLimitsHeader ) ? rateLimitsHeader [ 0 ] : rateLimitsHeader ,
133
+ } ,
134
+ reason : status ,
135
+ statusCode : statusCode ,
136
+ } ) ;
137
+ } ,
138
+ ) ;
139
+
148
140
req . on ( 'error' , reject ) ;
149
141
req . end ( request . body ) ;
150
142
} ) ;
0 commit comments