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. |
url |
URL |
The URL object. |
pathname |
string |
The pathname of the URL. |
searchParams |
Object |
The search parameters of the URL. |
Not: Pages Router'daki uluslararasılaştırma özellikleri App Router'da kullanılamaz. Uygulama Yönlendiricisi ile uluslararasılaştırma hakkında daha fazla bilgi edinin.
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. |