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.