Mon, 04 Jan 2016 17:03:19 +0000
clients: Include request in the new-client event
16
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 | pcall(function () |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 | local city_db_path = os.getenv("GEOIP_CITY_DB"); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 | if not city_db_path then return; end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 | |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 | local city_db = assert(require "geoip.city".open(city_db_path)); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 | |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 | events.add_handler("new-client", function (info) |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 | local ip = info.conn:ip(); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 | local location = city_db:query_by_addr(ip); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 | if location then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 | local l = {}; |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 | if location.city_name then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 | table.insert(l, location.city_name); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 | if location.region then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 | table.insert(l, location.region); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 | if location.country_name then |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 | table.insert(l, location.country_name); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 | conn.location = table.concat(l, ", "); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 | end |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 | end); |
d35376a53644
main, geoip: Add GeoIP lookup support for watcher info
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 | end) |