Skip to content

Commit ceebefe

Browse files
committed
s/parseRequest/addRequestDataToEvent
1 parent 7f39a8a commit ceebefe

File tree

6 files changed

+38
-22
lines changed

6 files changed

+38
-22
lines changed

packages/nextjs/src/utils/instrumentServer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* eslint-disable max-lines */
22
import {
3+
addRequestDataToEvent,
34
captureException,
45
configureScope,
56
deepReadDirSync,
67
getCurrentHub,
7-
parseRequest,
88
startTransaction,
99
} from '@sentry/node';
1010
import { extractTraceparentData, getActiveTransaction, hasTracingEnabled } from '@sentry/tracing';
@@ -244,7 +244,7 @@ function makeWrappedReqHandler(origReqHandler: ReqHandler): WrappedReqHandler {
244244
const currentScope = getCurrentHub().getScope();
245245

246246
if (currentScope) {
247-
currentScope.addEventProcessor(event => parseRequest(event, nextReq));
247+
currentScope.addEventProcessor(event => addRequestDataToEvent(event, nextReq));
248248

249249
// We only want to record page and API requests
250250
if (hasTracingEnabled() && shouldTraceRequest(nextReq.url, publicDirFiles)) {

packages/nextjs/src/utils/withSentry.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { captureException, flush, getCurrentHub, parseRequest, startTransaction } from '@sentry/node';
1+
import { addRequestDataToEvent, captureException, flush, getCurrentHub, startTransaction } from '@sentry/node';
22
import { extractTraceparentData, hasTracingEnabled } from '@sentry/tracing';
33
import { Transaction } from '@sentry/types';
44
import {
@@ -41,7 +41,7 @@ export const withSentry = (origHandler: NextApiHandler): WrappedNextApiHandler =
4141
const currentScope = getCurrentHub().getScope();
4242

4343
if (currentScope) {
44-
currentScope.addEventProcessor(event => parseRequest(event, req));
44+
currentScope.addEventProcessor(event => addRequestDataToEvent(event, req));
4545

4646
if (hasTracingEnabled()) {
4747
// If there is a trace header set, extract the data from it (parentSpanId, traceId, and sampling decision)

packages/node/src/handlers.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ import { captureException, getCurrentHub, startTransaction, withScope } from '@s
33
import { Event, ExtractedNodeRequestData, Span } from '@sentry/types';
44
import {
55
addExpressReqToTransaction,
6+
addRequestDataToEvent,
7+
AddRequestDataToEventOptions,
68
ExpressRequest as _ExpressRequest,
79
extractExpressTransactionName,
810
extractRequestData as _extractRequestData,
911
extractTraceparentData,
1012
isString,
1113
logger,
1214
parseBaggageString,
13-
parseRequest as _parseRequest,
14-
ParseRequestOptions as _ParseRequestOptions,
1515
} from '@sentry/utils';
1616
import * as domain from 'domain';
1717
import * as http from 'http';
@@ -74,7 +74,7 @@ export function tracingHandler(): (
7474
};
7575
}
7676

77-
export type RequestHandlerOptions = ParseRequestOptions & {
77+
export type RequestHandlerOptions = AddRequestDataToEventOptions & {
7878
flushTimeout?: number;
7979
};
8080

@@ -126,7 +126,7 @@ export function requestHandler(
126126
const currentHub = getCurrentHub();
127127

128128
currentHub.configureScope(scope => {
129-
scope.addEventProcessor((event: Event) => parseRequest(event, req, options));
129+
scope.addEventProcessor((event: Event) => addRequestDataToEvent(event, req, options));
130130
const client = currentHub.getClient<NodeClient>();
131131
if (isAutoSessionTrackingEnabled(client)) {
132132
const scope = currentHub.getScope();
@@ -247,9 +247,9 @@ export function errorHandler(options?: {
247247
// TODO (v8 / #5190): Remove this
248248
/**
249249
* Options deciding what parts of the request to use when enhancing an event
250-
* @deprecated `Handlers.ParseRequestOptions` is deprecated.Use `ParseRequestOptions` instead
250+
* @deprecated `Handlers.ParseRequestOptions` is deprecated.Use `AddRequestDataToEventOptions` instead
251251
*/
252-
export type ParseRequestOptions = _ParseRequestOptions;
252+
export type ParseRequestOptions = AddRequestDataToEventOptions;
253253

254254
// TODO (v8 / #5190): Remove this
255255
/**
@@ -258,12 +258,12 @@ export type ParseRequestOptions = _ParseRequestOptions;
258258
* @param event Will be mutated and enriched with req data
259259
* @param req Request object
260260
* @param options object containing flags to enable functionality
261-
* @deprecated `Handlers.parseRequest` is deprecated. Use `parseRequest` instead.
261+
* @deprecated `Handlers.parseRequest` is deprecated. Use `addRequestDataToEvent` instead.
262262
* @hidden
263263
*/
264264
// eslint-disable-next-line deprecation/deprecation
265265
export function parseRequest(event: Event, req: ExpressRequest, options?: ParseRequestOptions): Event {
266-
return _parseRequest(event, req, options);
266+
return addRequestDataToEvent(event, req, options);
267267
}
268268

269269
// TODO (v8 / #5190): Remove this

packages/node/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export type {
1515
Thread,
1616
User,
1717
} from '@sentry/types';
18-
export type { ParseRequestOptions, ExpressRequest } from '@sentry/utils';
18+
export type { AddRequestDataToEventOptions, ExpressRequest } from '@sentry/utils';
1919

2020
export type { NodeOptions } from './types';
2121

@@ -42,7 +42,7 @@ export {
4242
setUser,
4343
withScope,
4444
} from '@sentry/core';
45-
export { parseRequest, extractRequestData } from '@sentry/utils';
45+
export { addRequestDataToEvent, extractRequestData } from '@sentry/utils';
4646

4747
export { NodeClient } from './client';
4848
export { makeNodeTransport } from './transports';

packages/serverless/src/gcpfunction/http.ts

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import {
2+
addRequestDataToEvent,
3+
AddRequestDataToEventOptions,
24
captureException,
35
flush,
46
getCurrentHub,
5-
parseRequest,
6-
parseRequestOptions,
77
startTransaction,
88
} from '@sentry/node';
99
import { extractTraceparentData } from '@sentry/tracing';
@@ -12,10 +12,18 @@ import { isString, logger, parseBaggageString, stripUrlQueryAndFragment } from '
1212
import { domainify, getActiveDomain, proxyFunction } from './../utils';
1313
import { HttpFunction, WrapperOptions } from './general';
1414

15-
export interface HttpFunctionWrapperOptions extends WrapperOptions {
16-
parseRequestOptions: ParseRequestOptions;
15+
// TODO (v8 / #5190): Remove this
16+
interface OldHttpFunctionWrapperOptions extends WrapperOptions {
17+
/**
18+
* @deprecated Use `addRequestDataToEventOptions` instead.
19+
*/
20+
parseRequestOptions: AddRequestDataToEventOptions;
21+
}
22+
interface NewHttpFunctionWrapperOptions extends WrapperOptions {
23+
addRequestDataToEventOptions: AddRequestDataToEventOptions;
1724
}
1825

26+
export type HttpFunctionWrapperOptions = OldHttpFunctionWrapperOptions | NewHttpFunctionWrapperOptions;
1927

2028
/**
2129
* Wraps an HTTP function handler adding it error capture and tracing capabilities.
@@ -44,9 +52,13 @@ export function wrapHttpFunction(
4452

4553
/** */
4654
function _wrapHttpFunction(fn: HttpFunction, wrapOptions: Partial<HttpFunctionWrapperOptions> = {}): HttpFunction {
55+
// TODO (v8 / #5190): Remove this
56+
// eslint-disable-next-line deprecation/deprecation
57+
const { parseRequestOptions } = wrapOptions as OldHttpFunctionWrapperOptions;
58+
4759
const options: HttpFunctionWrapperOptions = {
4860
flushTimeout: 2000,
49-
parseRequestOptions: {},
61+
addRequestDataToEventOptions: parseRequestOptions ? parseRequestOptions : {},
5062
...wrapOptions,
5163
};
5264
return (req, res) => {
@@ -76,7 +88,7 @@ function _wrapHttpFunction(fn: HttpFunction, wrapOptions: Partial<HttpFunctionWr
7688
// since functions-framework creates a domain for each incoming request.
7789
// So adding of event processors every time should not lead to memory bloat.
7890
getCurrentHub().configureScope(scope => {
79-
scope.addEventProcessor(event => parseRequest(event, req, options.parseRequestOptions));
91+
scope.addEventProcessor(event => addRequestDataToEvent(event, req, options.addRequestDataToEventOptions));
8092
// We put the transaction on the scope so users can attach children to it
8193
scope.setSpan(transaction);
8294
});

packages/utils/src/requestdata.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ export function extractRequestData(
233233
/**
234234
* Options deciding what parts of the request to use when enhancing an event
235235
*/
236-
export interface ParseRequestOptions {
236+
export interface AddRequestDataToEventOptions {
237237
ip?: boolean;
238238
request?: boolean | string[];
239239
serverName?: boolean;
@@ -250,7 +250,11 @@ export interface ParseRequestOptions {
250250
* @param options object containing flags to enable functionality
251251
* @hidden
252252
*/
253-
export function parseRequest(event: Event, req: ExpressRequest, options?: ParseRequestOptions): Event {
253+
export function addRequestDataToEvent(
254+
event: Event,
255+
req: ExpressRequest,
256+
options?: AddRequestDataToEventOptions,
257+
): Event {
254258
// eslint-disable-next-line no-param-reassign
255259
options = {
256260
ip: false,

0 commit comments

Comments
 (0)