- Notifications
You must be signed in to change notification settings - Fork24
elixir-inspector/ua_inspector
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
User agent parser library.
To use UAInspector with your projects, edit yourmix.exs
file and add the required dependencies:
defpdepsdo[# ...{:ua_inspector,"~> 3.0"},# ...]end
If you want to use a manual supervision approach (without starting the application) please look at the inline documentation ofUAInspector.Supervisor
.
Out of the box the default database files will be stored in the:priv_dir
of:ua_inspector
. Both the database sources and path used can be changed.
For a detailed list of available configuration options please consultUAInspector.Config
.
You need to obtain a copy of the configured databases by calling eithermix ua_inspector.download
from the command line orUAInspector.Downloader.download/0
from within your application.
Refer toUAInspector.Downloader
for more details.
iex>UAInspector.parse("Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53")%UAInspector.Result{client:%UAInspector.Result.Client{engine:"WebKit",engine_version:"537.51.1",name:"Mobile Safari",type:"browser",version:"7.0"},device:%UAInspector.Result.Device{brand:"Apple",model:"iPad",type:"tablet"},os:%UAInspector.Result.OS{name:"iOS",platform::unknown,version:"7.0.4"},user_agent:"Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53"}iex>UAInspector.parse("Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36")%UAInspector.Result.Bot{category:"Search bot",name:"Googlebot",producer:%UAInspector.Result.BotProducer{name:"Google Inc.",url:"http://www.google.com"},url:"http://www.google.com/bot.html",user_agent:"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36"}
Full documentation is available inline in theUAInspector
module and athttps://hexdocs.pm/ua_inspector.
Several (minimal) benchmark scripts are included. Please refer to the Mixfile ormix help
output for their names.
Copyright (c) 2013 Marc Neudert
Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
The parser databases are taken from thematomo-org/device-detector project. See there for detailed license information about the data contained.