Skip to content

Commit 866be27

Browse files
committed
fix: Use correct native node types
1 parent 2249c2e commit 866be27

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

packages/node/src/handlers.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { forget } from '@sentry/utils/async';
55
import { serialize } from '@sentry/utils/object';
66
import { parse as parseCookie } from 'cookie';
77
import * as domain from 'domain';
8+
import * as http from 'http';
89
import { hostname } from 'os';
910
import { parse as parseUrl } from 'url';
1011
import { NodeClient } from './client';
@@ -135,8 +136,8 @@ function parseRequest(
135136
}
136137

137138
/** JSDoc */
138-
export function requestHandler(): (req: Request, res: Response, next: () => void) => void {
139-
return function sentryRequestMiddleware(req: Request, _res: Response, next: () => void): void {
139+
export function requestHandler(): (req: http.ClientRequest, res: http.ServerResponse, next: () => void) => void {
140+
return function sentryRequestMiddleware(req: http.ClientRequest, _res: http.ServerResponse, next: () => void): void {
140141
const local = domain.create();
141142
const hub = getHubFromCarrier(req);
142143
hub.bindClient(getCurrentHub().getClient());
@@ -168,14 +169,14 @@ function getStatusCodeFromResponse(error: MiddlewareError): number {
168169
/** JSDoc */
169170
export function errorHandler(): (
170171
error: MiddlewareError,
171-
req: Request,
172-
res: Response,
172+
req: http.ClientRequest,
173+
res: http.ServerResponse,
173174
next: (error: MiddlewareError) => void,
174175
) => void {
175176
return function sentryErrorMiddleware(
176177
error: MiddlewareError,
177-
req: Request,
178-
_res: Response,
178+
req: http.ClientRequest,
179+
_res: http.ServerResponse,
179180
next: (error: MiddlewareError) => void,
180181
): void {
181182
const status = getStatusCodeFromResponse(error);

packages/node/src/integrations/http.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Integration } from '@sentry/types';
22
import { fill } from '@sentry/utils/object';
3-
import { ClientRequest, ClientRequestArgs, ServerResponse } from 'http';
3+
import { ClientRequest, ClientRequestArgs, IncomingMessage, ServerResponse } from 'http';
44
import { inherits } from 'util';
55
import { getCurrentHub } from '../hub';
66

@@ -10,7 +10,7 @@ let lastResponse: ServerResponse | undefined;
1010
* Request interface which can carry around unified url
1111
* independently of used framework
1212
*/
13-
interface SentryRequest extends Request {
13+
interface SentryRequest extends IncomingMessage {
1414
__ravenBreadcrumbUrl?: string;
1515
}
1616

packages/node/src/transports/base.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ import { SentryEvent, SentryResponse, Status, Transport, TransportOptions } from
33
import { serialize } from '@sentry/utils/object';
44
import * as http from 'http';
55
import * as https from 'https';
6+
import * as url from 'url';
67
import { SDK_NAME, SDK_VERSION } from '../version';
78

89
/** Internal used interface for typescript */
910
export interface HTTPRequest {
1011
request(
11-
options: http.RequestOptions | string | URL,
12+
options: http.RequestOptions | https.RequestOptions | string | url.URL,
1213
callback?: (res: http.IncomingMessage) => void,
1314
): http.ClientRequest;
1415
}
@@ -27,7 +28,7 @@ export abstract class BaseTransport implements Transport {
2728
}
2829

2930
/** Returns a build request option object used by request */
30-
protected getRequestOptions(): http.RequestOptions {
31+
protected getRequestOptions(): http.RequestOptions | https.RequestOptions {
3132
const headers = {
3233
...this.api.getRequestHeaders(SDK_NAME, SDK_VERSION),
3334
...this.options.headers,

0 commit comments

Comments
 (0)