123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import type {Query} from 'history';
- import {decodeScalar} from 'sentry/utils/queryString';
- import {MutableSearch} from 'sentry/utils/tokenizeSearch';
- export function aggregateWaterfallRouteWithQuery({
- orgSlug,
- transaction,
- projectID,
- query,
- }: {
- orgSlug: string;
- query: Query;
- transaction: string;
- projectID?: string | string[];
- }) {
- const pathname = `/organizations/${orgSlug}/performance/summary/aggregateWaterfall/`;
- const filter = decodeScalar(query.query);
- let httpMethod: string | undefined = undefined;
- if (filter) {
- const search = new MutableSearch(filter);
- const method = search.tokens.find(token => token.key === 'http.method');
- if (method) {
- httpMethod = method.value;
- }
- }
- return {
- pathname,
- query: {
- transaction,
- project: projectID,
- environment: query.environment,
- statsPeriod: query.statsPeriod,
- start: query.start,
- end: query.end,
- query: query.query,
- ...(httpMethod ? {'http.method': httpMethod} : null),
- },
- };
- }
|