userAgent
userAgent ヘルパーは、Web Request API を追加のプロパティと Method で拡張し、ユーザーエージェントの object と request からやり取りを行います。
middleware.ts
import { NextRequest, NextResponse, userAgent } from 'next/server'
export function middleware(request: NextRequest) {
const url = request.nextUrl
const { device } = userAgent(request)
const viewport = device.type === 'mobile' ? 'mobile' : 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}
middleware.js
import { NextResponse, userAgent } from 'next/server'
export function middleware(request) {
const url = request.nextUrl
const { device } = userAgent(request)
const viewport = device.type === 'mobile' ? 'mobile' : 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}
isBot
既知のボットからの request であるかどうかを示す boolean。
browser
request で使われたブラウザに関する情報を含む object。
name:ブラウザの名前を表す string、または識別できない場合はundefined。version: ブラウザの version を示す string 、またはundefined。
device
request で使用されるデバイスに関する情報を含む object。
model:デバイスのモデルを表す string、またはundefined。type: デバイスの type を表す string で、console、mobile、tablet、smarttv、wearable、embedded、またはundefinedなど。vendor: デバイスのベンダーを表す string、またはundefined。
engine
ブラウザのエンジンに関する情報を含む object。
name:エンジンの名前を表す string。可能な値には、Amaya、Blink、EdgeHTML、Flow、Gecko、Goanna、iCab、KHTML、Links、Lynx、NetFront、NetSurf、Presto、Tasman、Trident、w3m、WebKit、またはundefinedが含まれます。version:エンジンの version を表す string 、またはundefined。
os
オペレーティングシステムに関する情報を含む object。
name: OS の名前を表す string、またはundefined。version: OS の version を表す string 、またはundefinedです。
cpu
CPU アーキテクチャに関する情報を含む object。
architecture: CPU のアーキテクチャを表す string。可能な値には、68k、amd64、arm、arm64、armhf、avr、ia32、ia64、irix、irix64、mips、mips64、pa-risc、ppc、sparc、sparc64またはundefinedが含まれます。