userAgent

Вспомогательный модуль userAgent расширяет Web Request API дополнительными свойствами и методами для взаимодействия с объектом user agent из запроса.

import { NextRequest, NextResponse, userAgent } from 'next/server'

export function middleware(request: NextRequest) {
  const url = request.nextUrl
  const { device } = userAgent(request)

  // device.type может быть: 'mobile', 'tablet', 'console', 'smarttv',
  // 'wearable', 'embedded' или undefined (для десктопных браузеров)
  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 может быть: 'mobile', 'tablet', 'console', 'smarttv',
  // 'wearable', 'embedded' или undefined (для десктопных браузеров)
  const viewport = device.type || 'desktop'

  url.searchParams.set('viewport', viewport)
  return NextResponse.rewrite(url)
}

isBot

Логическое значение, указывающее, поступает ли запрос от известного бота.

browser

Объект, содержащий информацию о браузере, используемом в запросе.

  • name: Строка, представляющая название браузера, или undefined, если не удалось определить.
  • version: Строка, представляющая версию браузера, или undefined.

device

Объект, содержащий информацию об устройстве, используемом в запросе.

  • model: Строка, представляющая модель устройства, или undefined.
  • type: Строка, представляющая тип устройства, например console, mobile, tablet, smarttv, wearable, embedded или undefined.
  • vendor: Строка, представляющая производителя устройства, или undefined.

engine

Объект, содержащий информацию о движке браузера.

  • name: Строка, представляющая название движка. Возможные значения: Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKit или undefined.
  • version: Строка, представляющая версию движка, или undefined.

os

Объект, содержащий информацию об операционной системе.

  • name: Строка, представляющая название ОС, или undefined.
  • version: Строка, представляющая версию ОС, или undefined.

cpu

Объект, содержащий информацию об архитектуре процессора.

  • architecture: Строка, представляющая архитектуру процессора. Возможные значения: 68k, amd64, arm, arm64, armhf, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, ppc, sparc, sparc64 или undefined.