Documentation
¶
Index ¶
- Constants
- Variables
- type ClientHints
- type IBrand
- type IBrowser
- type ICpu
- type IDevice
- type IEngine
- type IOs
- type IResult
- type UAItem
- type UAParser
- func (p *UAParser) Browser() IBrowser
- func (p *UAParser) CPU() ICpu
- func (p *UAParser) Device() IDevice
- func (p *UAParser) Engine() IEngine
- func (p *UAParser) Os() IOs
- func (p *UAParser) Result() IResult
- func (p *UAParser) WithExtensions(extensions map[string][]regexItem) *UAParser
- func (p *UAParser) WithHeaders(headers map[string]string) *UAParser
- func (p *UAParser) WithUA(ua string) *UAParser
Constants ¶
View Source
const ( UserAgent = "user-agent" Model = "model" Mobile = "mobile" Platform = "platform" Bitness = "bitness" CHHeader = "sec-ch-ua" CHHeaderFullVerList = CHHeader + "-full-version-list" CHHeaderArch = CHHeader + "-arch" CHHeaderBitness = CHHeader + "-" + Bitness CHHeaderFormFactors = CHHeader + "-form-factors" CHHeaderMobile = CHHeader + "-" + Mobile CHHeaderModel = CHHeader + "-" + Model CHHeaderPlatform = CHHeader + "-" + Platform CHHeaderPlatformVer = CHHeaderPlatform + "-version" )
View Source
const ( Name = "name" Version = "version" Type = "type" Architecture = "architecture" Vendor = "vendor" Console = "console" Major = "major" SmartTV = "smarttv" Wearable = "wearable" XR = "xr" Embedded = "embedded" UABrowser = "browser" UACpu = "cpu" UADevice = "device" UAEngine = "engine" UAOS = "os" UAResult = "result" Tablet = "tablet" Crawler = "crawler" CLI = "cli" Email = "email" Fetcher = "fetcher" InApp = "inapp" MediaPlayer = "mediaplayer" Library = "library" Windows = "Windows" Opera = "Opera" Edge = "Edge" Baidu = "Baidu" Chromium = "Chromium" Amazon = "Amazon" Apple = "Apple" ASUS = "ASUS" Blackberry = "BlackBerry" Google = "Google" Huawei = "Huawei" Lenovo = "Lenovo" Honor = "Honor" LG = "LG" Microsoft = "Microsoft" Motorola = "Motorola" OPPO = "OPPO" Samsung = "Samsung" Sharp = "Sharp" Sony = "Sony" Xiaomi = "Xiaomi" Zebra = "Zebra" Chromecast = "Chromecast" Xbox = "Xbox" Facebook = "Facebook" )
for regex-base impl
View Source
const ( UAMinLength = 5 UAMaxLength = 500 )
Variables ¶
View Source
var ( CLIs = map[string][]regexItem{ "browser": { { // contains filtered or unexported fields }, }, } Crawlers = map[string][]regexItem{ "browser": { { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, }, } ExtraDevices = map[string][]regexItem{ "device": { { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, }, } Emails = map[string][]regexItem{ "browser": { { // contains filtered or unexported fields }, }, } Fetchers = map[string][]regexItem{ "browser": { { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, }, } InApps = map[string][]regexItem{ "browser": { { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, }, } MediaPlayers = map[string][]regexItem{ "browser": { { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, }, } Libraries = map[string][]regexItem{ "browser": { { // contains filtered or unexported fields }, }, } Vehicles = map[string][]regexItem{ "device": { { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, { // contains filtered or unexported fields }, }, } Bots = map[string][]regexItem{ "browser": slices.Concat( CLIs["browser"], Crawlers["browser"], Fetchers["browser"], Libraries["browser"], ), } )
View Source
var ( NonNumericOrDotReg = regexp.MustCompile(`[^\d.]`) NonNumericSequenceReg = regexp.MustCompile(`[^\d.]+.`) )
Functions ¶
This section is empty.
Types ¶
type ClientHints ¶
type ClientHints struct {
// contains filtered or unexported fields
}
ClientHints User Agent Client Hints data
func NewClientHints ¶
func NewClientHints(headers map[string]string) ClientHints
type UAParser ¶
type UAParser struct {
// contains filtered or unexported fields
}
func NewUAParser ¶
func (*UAParser) WithExtensions ¶
Click to show internal directories.
Click to hide internal directories.