Capítulo 192 de 456
Helper that extends the Web Request API with parsed user-agent information (browser, device, engine, OS, CPU) — used typically inside a proxy.ts middleware-equivalent to branch behavior by device.
{ isBot, browser, device, engine, os, cpu }.'mobile' | 'tablet' | 'console' | 'smarttv' | 'wearable' | 'embedded' | undefined (undefined = desktop).import { NextRequest, NextResponse, userAgent } from 'next/server'
export function proxy(request: NextRequest) {
const url = request.nextUrl
const { device } = userAgent(request)
const viewport = device.type || 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}
| Campo | Propriedades |
|---|---|
browser | name, version |
device | model, type, vendor |
engine | name (Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKit), version |
os | name, version |
cpu | architecture (68k, amd64, arm, arm64, armhf, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, ppc, sparc, sparc64) |
next/server, junto com NextRequest/NextResponse.isBot permite branch simples para bots conhecidos sem parsing manual de header.undefined quando não identificável — trate com fallback (ex. device.type || 'desktop').proxy.ts.