rsnext/packages/next/shared/lib/router/utils/add-path-suffix.ts
Javi Velasco 523704b83f
Execute middleware on Next.js internal requests (#37121)
* Do not exclude internal _next request in middleware

* Allow for `NextURL` to parse prefetch requests

* Add test for middleware data prefetch

* Refactor `hasBasePath` and `replaceBasePath`

* Refactor `removeTrailingSlash`

* Refactor parsed next url to use `getNextPathnameInfo`

* Allow to configure `NextURL`

* Ensure middleware rewrites with always with a locale

Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-05-27 13:29:04 -05:00

15 lines
449 B
TypeScript

import { parsePath } from './parse-path'
/**
* Similarly to `addPathPrefix`, this function adds a suffix at the end on the
* provided path. It also works only for paths ensuring the argument starts
* with a slash.
*/
export function addPathSuffix(path: string, suffix?: string) {
if (!path.startsWith('/') || !suffix) {
return path
}
const { pathname, query, hash } = parsePath(path)
return `${pathname}${suffix}${query}${hash}`
}