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
,embedded
veyaundefined
.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
,WebKit
veyaundefined
.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
,sparc64
veyaundefined