NextRequest
NextRequest расширяет API запросов веб-страницы дополнительными удобными методами.
cookies
Чтение или изменение заголовка Set-Cookie запроса.
set(name, value)
Учитывая имя, установите cookie с заданным значением для запроса.
// Given incoming request /home
// Set a cookie to hide the banner
// request will have a `Set-Cookie:show-banner=false;path=/home` header
request.cookies.set('show-banner', 'false')
get(name)
Учитывая имя cookie, верните значение cookie. Если cookie не найдено, возвращается undefined. Если найдено несколько cookie, возвращается первое.
// Given incoming request /home
// { name: 'show-banner', value: 'false', Path: '/home' }
request.cookies.get('show-banner')
getAll()
Учитывая имя cookie, верните значения cookie. Если имя не указано, верните все cookie в запросе.
// Given incoming request /home
// [
// { name: 'experiments', value: 'new-pricing-page', Path: '/home' },
// { name: 'experiments', value: 'winter-launch', Path: '/home' },
// ]
request.cookies.getAll('experiments')
// Alternatively, get all cookies for the request
request.cookies.getAll()
delete(name)
Учитывая имя cookie, удалите cookie из запроса.
// Returns true for deleted, false is nothing is deleted
request.cookies.delete('experiments')
has(name)
Учитывая имя cookie, верните true , если cookie существует в запросе.
// Returns true if cookie exists, false if it does not
request.cookies.has('experiments')
clear()
Удалите заголовок Set-Cookie из запроса.
request.cookies.clear()
nextUrl
Расширяет базовый URL API дополнительными удобными методами, включая свойства, специфичные для Next.js.
// Given a request to /home, pathname is /home
request.nextUrl.pathname
// Given a request to /home?name=lee, searchParams is { 'name': 'lee' }
request.nextUrl.searchParams
Доступны следующие параметры:
| Свойство | Тип | Описание |
|---|---|---|
basePath |
string |
Базовый путь URL. |
buildId |
string | undefined
|
Идентификатор сборки приложения Next.js. Может быть настроен. |
pathname |
string |
Путь к ресурсу URL. |
searchParams |
Object |
Параметры поиска URL. |
Примечание: Свойства локализации из маршрутизатора страниц недоступны для использования в маршрутизаторе приложений. Дополнительную информацию см. в разделе локализация с маршрутизатором приложений.
ip
Свойство ip — это строка, содержащая IP-адрес запроса. Это значение может быть необязательно предоставлено вашей платформой хостинга.
Важно знать: На Vercel это значение предоставляется по умолчанию. На других платформах вы можете использовать заголовок
X-Forwarded-Forдля предоставления IP-адреса.
// Provided by Vercel
request.ip
// Self-hosting
request.headers.get('X-Forwarded-For')
geo
Свойство geo — это объект, содержащий географическую информацию запроса. Это значение может быть необязательно предоставлено вашей платформой хостинга.
Важно знать: На Vercel это значение предоставляется по умолчанию. На других платформах вы можете использовать заголовок
X-Forwarded-Forдля предоставления IP-адреса, а затем использовать сторонний сервис, например третий сервис, для получения географической информации.
// Provided by Vercel
request.geo.city
request.geo.country
request.geo.region
request.geo.latitude
request.geo.longitude
// Self-hosting
function getGeo(request) {
let ip = request.headers.get('X-Forwarded-For')
// Use a third-party service to lookup the geographic information
}
© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/app/api-reference/functions/next-request