userAgent
El helper userAgent extiende la API de Web Request con propiedades y métodos adicionales para interactuar con el objeto user agent de la solicitud.
import { NextRequest, NextResponse, userAgent } from 'next/server'
export function middleware(request: NextRequest) {
const url = request.nextUrl
const { device } = userAgent(request)
// device.type puede ser: 'mobile', 'tablet', 'console', 'smarttv',
// 'wearable', 'embedded', o undefined (para navegadores de escritorio)
const viewport = device.type || 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}import { NextResponse, userAgent } from 'next/server'
export function middleware(request) {
const url = request.nextUrl
const { device } = userAgent(request)
// device.type puede ser: 'mobile', 'tablet', 'console', 'smarttv',
// 'wearable', 'embedded', o undefined (para navegadores de escritorio)
const viewport = device.type || 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}isBot
Un booleano que indica si la solicitud proviene de un bot conocido.
browser
Un objeto que contiene información sobre el navegador utilizado en la solicitud.
name: Una cadena que representa el nombre del navegador, oundefinedsi no es identificable.version: Una cadena que representa la versión del navegador, oundefined.
device
Un objeto que contiene información sobre el dispositivo utilizado en la solicitud.
model: Una cadena que representa el modelo del dispositivo, oundefined.type: Una cadena que representa el tipo de dispositivo, comoconsole,mobile,tablet,smarttv,wearable,embedded, oundefined.vendor: Una cadena que representa el fabricante del dispositivo, oundefined.
engine
Un objeto que contiene información sobre el motor del navegador.
name: Una cadena que representa el nombre del motor. Los valores posibles incluyen:Amaya,Blink,EdgeHTML,Flow,Gecko,Goanna,iCab,KHTML,Links,Lynx,NetFront,NetSurf,Presto,Tasman,Trident,w3m,WebKitoundefined.version: Una cadena que representa la versión del motor, oundefined.
os
Un objeto que contiene información sobre el sistema operativo.
name: Una cadena que representa el nombre del SO, oundefined.version: Una cadena que representa la versión del SO, oundefined.
cpu
Un objeto que contiene información sobre la arquitectura de la CPU.
architecture: Una cadena que representa la arquitectura de la CPU. Los valores posibles incluyen:68k,amd64,arm,arm64,armhf,avr,ia32,ia64,irix,irix64,mips,mips64,pa-risc,ppc,sparc,sparc64oundefined