NextRequest
NextRequest, Web Request API 'yi ek kolaylık yöntemleriyle genişletir.
cookies
Oku veya mutasyona uğrat
Set-Cookie
isteğin başlığı.
set(name, value)
Bir ad verildiğinde, istek üzerine verilen değere sahip bir çerez ayarlayın.
// 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)
Bir çerez adı verildiğinde, çerezin değerini döndürür. Çerez bulunamazsa, undefined
döndürülür. Birden fazla çerez
bulunursa, ilki döndürülür.
// Given incoming request /home
// { name: 'show-banner', value: 'false', Path: '/home' }
request.cookies.get('show-banner')
getAll()
Bir çerez adı verildiğinde, çerezin değerlerini döndürür. İsim verilmezse, istek üzerindeki tüm çerezleri döndürür.
// 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)
Bir çerez adı verildiğinde, çerezi istekten siler.
// Returns true for deleted, false is nothing is deleted
request.cookies.delete('experiments')
has(name)
Bir çerez adı verildiğinde, çerez istekte mevcutsa true
döndürür.
// Returns true if cookie exists, false if it does not
request.cookies.has('experiments')
clear()
Set-Cookie
başlığını istekten kaldırın.
request.cookies.clear()
nextUrl
Yerel yazılımı genişletir
URL
Next.js'ye özgü özellikler de dahil olmak üzere ek kolaylık yöntemleri içeren API.
// 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
Aşağıdaki seçenekler mevcuttur:
Property | Type | Description |
---|---|---|
basePath |
string |
The base path of the URL. |
buildId |
string | undefined |
The build identifier of the Next.js application. Can be customized. |
defaultLocale |
string | undefined |
The default locale for internationalization. |
domainLocale |
||
- defaultLocale |
string |
The default locale within a domain. |
- domain |
string |
The domain associated with a specific locale. |
- http |
boolean | undefined |
Indicates if the domain is using HTTP. |
locales |
string[] | undefined |
An array of available locales. |
locale |
string | undefined |
The currently active locale. |
url |
URL |
The URL object. |
ip
ip
özelliği, isteğin IP adresini içeren bir dizedir. Bu değer isteğe bağlı olarak barındırma platformunuz
tarafından sağlanabilir.
Bilmekte fayda var: Vercel üzerinde bu değer varsayılan olarak sağlanır. Diğer platformlarda şunları kullanabilirsiniz
X-Forwarded-For
IP adresini sağlamak için başlık.
// Provided by Vercel
request.ip
// Self-hosting
request.headers.get('X-Forwarded-For')
geo
geo
özelliği, isteğin coğrafi bilgilerini içeren bir nesnedir. Bu değer isteğe bağlı olarak barındırma
platformunuz tarafından sağlanabilir.
Bilmekte fayda var: Vercel üzerinde bu değer varsayılan olarak sağlanır. Diğer platformlarda şunları kullanabilirsiniz
X-Forwarded-For
başlığını IP adresini sağlamak için kullanın, ardından coğrafi bilgileri aramak için üçüncü taraf hizmetinikullanın.
// 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
}
Version History
Version | Changes |
---|---|
v13.0.0 |
useSearchParams introduced. |