Lang x Lang

NextRequest

NextRequest は、追加の便利な Method でWeb Request API を拡張します。

cookies

Set-Cookie header を request で読み込むか変更します。

set(name, value)

名前が指定された場合、その指定された value を用いて、request 上に 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 の value を返します。もし cookie が見つからなければ、undefinedが返されます。複数の cookies が見つかった場合は、最初のものが返されます。

// Given incoming request /home
// { name: 'show-banner', value: 'false', Path: '/home' }
request.cookies.get("show-banner");

getAll()

cookie の名前が指定された場合、その cookie の値を返します。名前が指定されていない場合、request 上のすべての cookies を返します。

// 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 を request から delete してください。

// Returns true for deleted, false is nothing is deleted
request.cookies.delete("experiments");

has(name)

cookie の名前が与えられた場合、その cookie が request 上に存在する場合はtrueを返します。

// Returns true if cookie exists, false if it does not
request.cookies.has("experiments");

clear()

Set-Cookieの header を request から削除してください。

request.cookies.clear();

nextUrl

ネイティブの URL API を拡張し、Next.js 特有のプロパティを含む追加の便利な Method を提供します。

// 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;

次の options が利用可能です。

プロパティTypeDescription
basePathstringURL のベース path
buildIdstring | undefinedNext.js アプリケーションの build 識別子。カスタマイズ可能です。
defaultLocalestring | undefined国際化のための default locale 。
domainLocale
- defaultLocalestringドメイン内の default locale 。
- domainstring特定の locale に関連付けられたドメイン。
- httpboolean | undefinedドメインが HTTP を使用しているかどうかを示します。
localesstring[] | undefined利用可能な locales の配列。
localestring | undefined現在アクティブな locale 。
URLurlURL object 。

ip

ip プロパティは、request の IP アドレスを含む string です。この value は、ホスティングプラットフォームからオプションで提供されることがあります。

Good to know: Vercel では、この value は default によって提供されます。他のプラットフォームでは、IP アドレスを提供するためにX-Forwarded-For header を使用することができます。

// Provided by Vercel
request.ip;
// Self-hosting
request.headers.get("X-Forwarded-For");

geo

geoプロパティは、request の地理的情報を含む object です。この value は、あなたのホスティングプラットフォームによってオプションで提供することができます。

Good to know: Vercel では、この value は default によって提供されます。他のプラットフォームでは、X-Forwarded-For header を使用して 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
}

当社サイトでは、Cookie を使用しています。各規約をご確認の上ご利用ください:
Cookie Policy, Privacy Policy および Terms of Use