userAgent
userAgent yardımcısı, istekten gelen kullanıcı aracısı nesnesiyle etkileşim kurmak için Web Request API 'yi ek özellikler ve yöntemlerle genişletir.
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)
}isBot
İsteğin bilinen bir bottan gelip gelmediğini gösteren bir boolean.
browser
İstekte kullanılan tarayıcı hakkında bilgi içeren bir nesne.
name: Tarayıcının adını temsil eden bir dize veya tanımlanamıyorsaundefined.version: Tarayıcının sürümünü temsil eden bir dize veyaundefined.
device
İstekte kullanılan cihaz hakkında bilgi içeren bir nesne.
model: Cihazın modelini temsil eden bir dize veyaundefined.type: Cihazın türünü temsil eden bir dize, örneğinconsole,mobile,tablet,smarttv,wearable,embeddedveyaundefined.vendor: Cihazın satıcısını temsil eden bir dize veyaundefined.
engine
Tarayıcının motoru hakkında bilgi içeren bir nesne.
name: Motorun adını temsil eden bir dize. Olası değerler şunları içerir:Amaya,Blink,EdgeHTML,Flow,Gecko,Goanna,iCab,KHTML,Links,Lynx,NetFront,NetSurf,Presto,Tasman,Trident,w3m,WebKitveyaundefined.version: Motorun sürümünü temsil eden bir dize veyaundefined.
os
İşletim sistemi hakkında bilgi içeren bir nesne.
name: İşletim sisteminin adını temsil eden bir dize veyaundefined.version: İşletim sisteminin sürümünü temsil eden bir dize veyaundefined.
cpu
CPU mimarisi hakkında bilgi içeren bir nesne.
architecture: CPU'nun mimarisini temsil eden bir dize. Olası değerler şunları içerir:68k,amd64,arm,arm64,armhf,avr,ia32,ia64,irix,irix64,mips,mips64,pa-risc,ppc,sparc,sparc64veyaundefined