diff --git a/app/setup.go b/app/setup.go index ef28f79..0b059cc 100644 --- a/app/setup.go +++ b/app/setup.go @@ -86,16 +86,16 @@ func Setup(p params.ParamsType, cfg *Config) *App { colorfiles := []string{ //https://daconcepts.com/vanessa/hobbies/minetest/colors.txt - "/colors/vanessa.txt", - "/colors/advtrains.txt", - "/colors/scifi_nodes.txt", - "/colors/mcl2_colors.txt", - "/colors/miles.txt", - "/colors/custom.txt", + "colors/vanessa.txt", + "colors/advtrains.txt", + "colors/scifi_nodes.txt", + "colors/mcl2_colors.txt", + "colors/miles.txt", + "colors/custom.txt", } for _, colorfile := range colorfiles { - _, err := a.Colormapping.LoadVFSColors(false, colorfile) + _, err := a.Colormapping.LoadVFSColors(colorfile) if err != nil { panic(err.Error() + " file:" + colorfile) } diff --git a/colormapping/colormapping.go b/colormapping/colormapping.go index 9574447..95b1c1f 100644 --- a/colormapping/colormapping.go +++ b/colormapping/colormapping.go @@ -5,7 +5,7 @@ import ( "bytes" "errors" "image/color" - "mapserver/vfs" + "mapserver/public" "strconv" "strings" @@ -93,27 +93,36 @@ func (m *ColorMapping) LoadBytes(buffer []byte) (int, error) { return count, nil } -func (m *ColorMapping) LoadVFSColors(useLocal bool, filename string) (int, error) { - buffer, err := vfs.FSByte(useLocal, filename) +func (m *ColorMapping) LoadVFSColors(filename string) (int, error) { + buffer, err := public.Files.ReadFile(filename) if err != nil { return 0, err } log.WithFields(logrus.Fields{"size": len(buffer), "filename": filename, - "useLocal": useLocal}).Info("Loading colors") + }).Info("Loading colors") return m.LoadBytes(buffer) } func NewColorMapping() *ColorMapping { - extendedpalette, err := NewPalette(vfs.FSMustByte(false, "/pics/unifieddyes_palette_extended.png")) - + data, err := public.Files.ReadFile("pics/unifieddyes_palette_extended.png") if err != nil { panic(err) } - scanner := bufio.NewScanner(bytes.NewReader(vfs.FSMustByte(false, "/extended_palette.txt"))) + extendedpalette, err := NewPalette(data) + if err != nil { + panic(err) + } + + data, err = public.Files.ReadFile("extended_palette.txt") + if err != nil { + panic(err) + } + + scanner := bufio.NewScanner(bytes.NewReader(data)) extendedpaletteblock := make(map[string]bool) if err != nil { diff --git a/colormapping/colormapping_test.go b/colormapping/colormapping_test.go index 00fc486..7191ada 100644 --- a/colormapping/colormapping_test.go +++ b/colormapping/colormapping_test.go @@ -6,12 +6,12 @@ import ( func TestNewMapping(t *testing.T) { m := NewColorMapping() - _, err := m.LoadVFSColors(false, "/colors/vanessa.txt") + _, err := m.LoadVFSColors("colors/vanessa.txt") if err != nil { t.Fatal(err) } - _, err = m.LoadVFSColors(false, "/colors/scifi_nodes.txt") + _, err = m.LoadVFSColors("colors/scifi_nodes.txt") if err != nil { t.Fatal(err) } diff --git a/db/postgres/postgres.go b/db/postgres/postgres.go index cf8f7c3..2a3cfff 100644 --- a/db/postgres/postgres.go +++ b/db/postgres/postgres.go @@ -4,7 +4,7 @@ import ( "database/sql" "mapserver/coords" "mapserver/db" - "mapserver/vfs" + "mapserver/public" "time" _ "github.com/lib/pq" @@ -23,9 +23,15 @@ func (db *PostgresAccessor) Migrate() error { } if !hasMtime { - log.Info("Migrating database") + log.Info("Migrating database, this might take a while depending on the mapblock-count") start := time.Now() - _, err = db.db.Exec(vfs.FSMustString(false, "/sql/postgres_mapdb_migrate.sql")) + + sql, err := public.Files.ReadFile("sql/postgres_mapdb_migrate.sql") + if err != nil { + return err + } + + _, err = db.db.Exec(string(sql)) if err != nil { return err } diff --git a/db/sqlite/sqlite.go b/db/sqlite/sqlite.go index 98cd9c7..7500674 100644 --- a/db/sqlite/sqlite.go +++ b/db/sqlite/sqlite.go @@ -4,7 +4,7 @@ import ( "database/sql" "mapserver/coords" "mapserver/db" - "mapserver/vfs" + "mapserver/public" "time" _ "github.com/mattn/go-sqlite3" @@ -38,9 +38,17 @@ func (db *Sqlite3Accessor) Migrate() error { } if !hasMtime { - log.WithFields(logrus.Fields{"filename": db.filename}).Info("Migrating database") + log.WithFields(logrus.Fields{ + "filename": db.filename, + }).Info("Migrating database, this might take a while depending on the mapblock-count") start := time.Now() - _, err = rwdb.Exec(vfs.FSMustString(false, "/sql/sqlite_mapdb_migrate.sql")) + + sql, err := public.Files.ReadFile("sql/sqlite_mapdb_migrate.sql") + if err != nil { + return err + } + + _, err = rwdb.Exec(string(sql)) if err != nil { return err } @@ -57,10 +65,10 @@ func convertRows(pos int64, data []byte, mtime int64) *db.Block { return &db.Block{Pos: c, Data: data, Mtime: mtime} } -func (this *Sqlite3Accessor) FindBlocksByMtime(gtmtime int64, limit int) ([]*db.Block, error) { +func (a *Sqlite3Accessor) FindBlocksByMtime(gtmtime int64, limit int) ([]*db.Block, error) { blocks := make([]*db.Block, 0) - rows, err := this.db.Query(getBlocksByMtimeQuery, gtmtime, limit) + rows, err := a.db.Query(getBlocksByMtimeQuery, gtmtime, limit) if err != nil { return nil, err } diff --git a/go.mod b/go.mod index d71d0f6..523067d 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,9 @@ module mapserver require ( - github.com/disintegration/imaging v1.6.2 // indirect github.com/gorilla/websocket v1.4.2 github.com/lib/pq v1.10.0 github.com/mattn/go-sqlite3 v1.14.6 - github.com/mjibson/esc v0.2.0 // indirect github.com/patrickmn/go-cache v2.1.0+incompatible github.com/prometheus/client_golang v1.10.0 github.com/sirupsen/logrus v1.8.1 diff --git a/go.sum b/go.sum index ce92dd5..d8194b9 100644 --- a/go.sum +++ b/go.sum @@ -2,21 +2,15 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5 h1:P5U+E4x5OkVEKQDklVPmzs71WM56RTTRqV4OrDC//Y4= -github.com/alexbrainman/sspi v0.0.0-20180613141037-e580b900e9f5/go.mod h1:976q2ETgjT2snVCf2ZaBnyBbVoPERGjUz+0sofzEfro= -github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -26,9 +20,7 @@ github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6l github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= @@ -38,11 +30,8 @@ github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QH github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -57,12 +46,6 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/disintegration/imaging v1.5.0 h1:uYqUhwNmLU4K1FN44vhqS4TZJRAA4RhBINgbQlKyGi0= -github.com/disintegration/imaging v1.5.0/go.mod h1:9B/deIUIrliYkyMTuXJd6OUFLcrZ2tf+3Qlwnaf/CjU= -github.com/disintegration/imaging v1.6.1 h1:JnBbK6ECIZb1NsWIikP9pd8gIlTIRx7fuDNpU9fsxOE= -github.com/disintegration/imaging v1.6.1/go.mod h1:xuIt+sRxDFrHS0drzXUlCJthkJ8k7lkkUojDSR247MQ= -github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c= -github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= @@ -76,19 +59,15 @@ github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVB github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-kit/kit v0.8.0 h1:Wz+5lgoB0kkuqLEc6NVmwRknTKP6dTGbSqvhZtBI/j0= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-logfmt/logfmt v0.3.0 h1:8HUsc87TaSWLKwrnumgC8/YconD2fJQsRJAsWaPg2ic= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -96,9 +75,7 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfU github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= @@ -116,6 +93,7 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= @@ -124,13 +102,7 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORR github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= @@ -148,8 +120,6 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -162,65 +132,26 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= -github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= -github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= -github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= -github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= -github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= -github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= -github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= -github.com/jcmturner/gokrb5/v8 v8.2.0 h1:lzPl/30ZLkTveYsYZPKMcgXc8MbnE6RsTd4F9KgiLtk= -github.com/jcmturner/gokrb5/v8 v8.2.0/go.mod h1:T1hnNppQsBtxW0tCHMHTkAt8n/sABdzZgZdoFrZaZNM= -github.com/jcmturner/rpc/v2 v2.0.2 h1:gMB4IwRXYsWw4Bc6o/az2HJgFUA1ffSh90i26ZJ6Xl0= -github.com/jcmturner/rpc/v2 v2.0.2/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0 h1:TDTW5Yz1mjftljbcKqRcrYhd4XeOoI98t+9HbQbYf7g= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU= -github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.4.0 h1:TmtCFbH+Aw0AixwyttznSMQDgbR5Yed/Gg6S8Funrhc= -github.com/lib/pq v1.4.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.5.0 h1:Hq6pEflc2Q3hP5iEH3Q6XopXrJXxjhwbvMpj9eZnpp0= -github.com/lib/pq v1.5.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.5.1 h1:Jn6HYxiYrtQ92CopqJLvfPCJUrrruw1+1cn0jM9dKrI= -github.com/lib/pq v1.5.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.5.2 h1:yTSXVswvWUOQ3k1sd7vJfDrbSl8lKuscqFJRqjC0ifw= -github.com/lib/pq v1.5.2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.6.0 h1:I5DPxhYJChW9KYc66se+oKFFQX6VuQrKiprsX6ivRZc= -github.com/lib/pq v1.6.0/go.mod h1:4vXEAYvW1fRQ2/FhZ78H73A60MHw1geSm145z2mdY1g= -github.com/lib/pq v1.7.0 h1:h93mCPfUSkaul3Ka/VG8uZdmW1uMHDGxzu0NWHuJmHY= -github.com/lib/pq v1.7.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.7.1 h1:FvD5XTVTDt+KON6oIoOmHq6B6HzGuYEhuTMpEG0yuBQ= -github.com/lib/pq v1.7.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.8.0 h1:9xohqzkUwzR4Ga4ivdTcawVS89YSDVxXMa3xJX3cGzg= -github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.9.0 h1:L8nSXQQzAYByakOFMTwpjRoHsMJklur4Gi59b6VivR8= -github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.0 h1:Zx5DJFEYQXio93kgXnQ09fXNiUKsqv4OUEu2UtGcB1E= github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= @@ -230,26 +161,6 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.10.0 h1:jbhqpg7tQe4SupckyijYiy0mJJ/pRyHvXf7JdWK860o= -github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= -github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.12.0 h1:u/x3mp++qUxvYfulZ4HKOvVO0JWhk7HtE8lWhbGz/Do= -github.com/mattn/go-sqlite3 v1.12.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.13.0 h1:LnJI81JidiW9r7pS/hXe6cFeO5EXNq7KbfvoJLRI69c= -github.com/mattn/go-sqlite3 v1.13.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.0 h1:mLyGNKR8+Vv9CAU7PphKa2hkEqxxhn8i32J6FPj1/QA= -github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= -github.com/mattn/go-sqlite3 v1.14.1 h1:AHx9Ra40wIzl+GelgX2X6AWxmT5tfxhI1PL0523HcSw= -github.com/mattn/go-sqlite3 v1.14.1/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= -github.com/mattn/go-sqlite3 v1.14.2 h1:A2EQLwjYf/hfYaM20FVjs1UewCTTFR7RmjEHkLjldIA= -github.com/mattn/go-sqlite3 v1.14.2/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= -github.com/mattn/go-sqlite3 v1.14.3 h1:j7a/xn1U6TKA/PHHxqZuzh64CdtRc7rU9M+AvkOl5bA= -github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= -github.com/mattn/go-sqlite3 v1.14.4 h1:4rQjbDxdu9fSgI/r3KN72G3c2goxknAqHHgPWWs8UlI= -github.com/mattn/go-sqlite3 v1.14.4/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= -github.com/mattn/go-sqlite3 v1.14.5 h1:1IdxlwTNazvbKJQSxoJ5/9ECbEeaTTyeU7sEAZ5KKTQ= -github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= @@ -262,17 +173,10 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mjibson/esc v0.1.0 h1:5ch+murgrcwDFLOE2hwj0f7kE4xJfJhkSCAjSLY182o= -github.com/mjibson/esc v0.1.0/go.mod h1:9Hw9gxxfHulMF5OJKCyhYD7PzlSdhzXyaGEBRPH1OPs= -github.com/mjibson/esc v0.2.0 h1:k96hdaR9Z+nMcnDwNrOvhdBqtjyMrbVyxLpsRCdP2mA= -github.com/mjibson/esc v0.2.0/go.mod h1:9Hw9gxxfHulMF5OJKCyhYD7PzlSdhzXyaGEBRPH1OPs= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 h1:F9x/1yl3T2AeKLr2AMdilSD8+f9bvMnNN8VS5iDtovc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= @@ -305,50 +209,35 @@ github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtP github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.2 h1:awm861/B8OKDd2I/6o1dy3ra4BamzKhYOiGItCeZ740= -github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.4 h1:Y8E/JaaPbmFSW2V81Ab/d8yZFYQQGbni1b1jPcG9Y6A= -github.com/prometheus/client_golang v0.9.4/go.mod h1:oCXIBxdI62A4cR6aTRJCgetEjecSIYzOEaeAn4iYEpM= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0 h1:BQ53HtBmfOitExawJ6LokA4x8ov/z0SYYb0+HxJfRI8= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.10.0 h1:/o0BDeWzLWXNZ+4q5gXltUvaMpJqckTa+jTNoB+z4cg= github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910 h1:idejC8f05m9MGOsuEi1ATq9shN03HrxNkD/luQvxCv8= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181126121408-4724e9255275 h1:PnBWHBf+6L0jOqq0gIVUe6Yk0/QMZ640k6NvkxcBf+8= -github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.18.0 h1:WCVKW7aL6LEe1uryfI9dnEc2ZqNB1Fn0ok930v0iL1Y= github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a h1:9a8MnZMP0X2nLJdBg+pBmGgkJlSaKC2KaQmTCk1XDtE= -github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= @@ -363,16 +252,8 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.3.0 h1:hI/7Q+DtNZ2kINb6qt/lS+IyXnHQe9e90POfeewL/ME= -github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.5.0 h1:1N5EYkVAPEywqZRJd7cwnRtCb6xJx7NH3T3WUTF980Q= -github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -385,29 +266,16 @@ github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3 github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.0 h1:DMOzIV76tmoDNE9pX6RSN0aDtCYeCg5VueieJaAo1uw= -github.com/stretchr/testify v1.5.0/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho= -github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/yuin/gopher-lua v0.0.0-20190206043414-8bfc7677f583 h1:SZPG5w7Qxq7bMcMVl6e3Ht2X7f+AAGQdzjkbyOnNNZ8= -github.com/yuin/gopher-lua v0.0.0-20190206043414-8bfc7677f583/go.mod h1:gqRgreBUhTSL0GeU64rtZ3Uq3wtjOa/TB2YfrtkCbVQ= github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da h1:NimzV1aGyq29m5ukMK0AMWEhFaL/lrEOaephfuoiARg= github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -422,23 +290,14 @@ go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 h1:u+LnwYTOOW7Ukr/fppxEb1Nwz0AtPflrblfvUudpo+I= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4 h1:QmwruyY+bKbDDL0BaglrbZABEali68eoMFhTZpCjYVA= -golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190118043309-183bebdce1b2 h1:FNSSV4jv1PrPsiM2iKGpqLPPgYACqh9Muav7Pollk1k= -golang.org/x/image v0.0.0-20190118043309-183bebdce1b2/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 h1:hVwzHzIUGRjiF7EcUjqNxk3NCfkPxbDKRdnNE1Rpg0U= -golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -446,14 +305,11 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a h1:gOpx8G595UYyvj8UK4+OFyY4rx037g3fmfhe5SasG3U= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc h1:a3CU5tJYVj92DY2LaA1kUkrsqD5/3mLDhx2NcNqyW+0= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -465,17 +321,11 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa h1:F+8P+gmewFQYRk6JoLQLwjBCTu3mcIURZfNkVweuRKA= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -483,34 +333,28 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190204203706-41f3e6584952 h1:FDfvYgoVsA7TTZSbgiqjAbfPbK47CNHdWl3h/PJtii0= golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 h1:46ULzRKLh1CwgRq2dC5SlBzEqqNCi8rreOZnNrbqcIY= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -527,10 +371,10 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114 h1:DnSr2mCsxyCE6ZgIkmcWUQY2R5cH/6wL7eIxEmQOMSE= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -557,28 +401,20 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/jcmturner/aescts.v1 v1.0.1/go.mod h1:nsR8qBOg+OucoIW+WMhB3GspUQXq9XorLnQb9XtvcOo= -gopkg.in/jcmturner/dnsutils.v1 v1.0.1/go.mod h1:m3v+5svpVOhtFAP/wSz+yzh4Mc0Fg7eRhxkJMWSIz9Q= -gopkg.in/jcmturner/goidentity.v3 v3.0.0/go.mod h1:oG2kH0IvSYNIu80dVAyu/yoefjq1mNfM5bm88whjWx4= -gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuvyavf11/WM= -gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/main.go b/main.go index 49ecf37..a3b7fb0 100644 --- a/main.go +++ b/main.go @@ -12,8 +12,6 @@ import ( "github.com/sirupsen/logrus" ) -//go:generate sh -c "go run github.com/mjibson/esc -o vfs/static.go -prefix='static/' -pkg vfs static" - func main() { //Parse command line diff --git a/mapblockrenderer/renderer_benchmark_test.go b/mapblockrenderer/renderer_benchmark_test.go index 8c3a7ae..b967d88 100644 --- a/mapblockrenderer/renderer_benchmark_test.go +++ b/mapblockrenderer/renderer_benchmark_test.go @@ -41,7 +41,7 @@ func createRenderer(b *testing.B) (*MapBlockRenderer, callback) { cache := mapblockaccessor.NewMapBlockAccessor(a, 500*time.Millisecond, 1000*time.Millisecond, 1000) c := colormapping.NewColorMapping() - _, err = c.LoadVFSColors(false, "/colors/vanessa.txt") + _, err = c.LoadVFSColors("colors/vanessa.txt") if err != nil { b.Fatal(err) } diff --git a/mapblockrenderer/renderer_test.go b/mapblockrenderer/renderer_test.go index fe3ba8d..b48d89a 100644 --- a/mapblockrenderer/renderer_test.go +++ b/mapblockrenderer/renderer_test.go @@ -47,7 +47,7 @@ func TestSimpleRender(t *testing.T) { cache := mapblockaccessor.NewMapBlockAccessor(a, 500*time.Millisecond, 1000*time.Millisecond, 1000) c := colormapping.NewColorMapping() - _, err = c.LoadVFSColors(false, "/colors/vanessa.txt") + _, err = c.LoadVFSColors("colors/vanessa.txt") if err != nil { t.Fatal(err) } diff --git a/mapobjectdb/postgres/migrate.go b/mapobjectdb/postgres/migrate.go index b3ea329..589885a 100644 --- a/mapobjectdb/postgres/migrate.go +++ b/mapobjectdb/postgres/migrate.go @@ -2,8 +2,10 @@ package postgres import ( "database/sql" + "mapserver/public" + "github.com/sirupsen/logrus" - "mapserver/vfs" + "time" ) @@ -14,10 +16,16 @@ type PostgresAccessor struct { func (db *PostgresAccessor) Migrate() error { log.Info("Migrating database") start := time.Now() - _, err := db.db.Exec(vfs.FSMustString(false, "/sql/postgres_mapobjectdb_migrate.sql")) + sql, err := public.Files.ReadFile("sql/postgres_mapobjectdb_migrate.sql") if err != nil { return err } + + _, err = db.db.Exec(string(sql)) + if err != nil { + return err + } + t := time.Now() elapsed := t.Sub(start) log.WithFields(logrus.Fields{"elapsed": elapsed}).Info("Migration completed") diff --git a/mapobjectdb/sqlite/migrate.go b/mapobjectdb/sqlite/migrate.go index fc3576b..2615b2b 100644 --- a/mapobjectdb/sqlite/migrate.go +++ b/mapobjectdb/sqlite/migrate.go @@ -2,10 +2,11 @@ package sqlite import ( "database/sql" + "mapserver/public" + "time" + _ "github.com/mattn/go-sqlite3" "github.com/sirupsen/logrus" - "mapserver/vfs" - "time" ) type Sqlite3Accessor struct { @@ -16,10 +17,17 @@ type Sqlite3Accessor struct { func (db *Sqlite3Accessor) Migrate() error { log.WithFields(logrus.Fields{"filename": db.filename}).Info("Migrating database") start := time.Now() - _, err := db.db.Exec(vfs.FSMustString(false, "/sql/sqlite_mapobjectdb_migrate.sql")) + + sql, err := public.Files.ReadFile("sql/sqlite_mapobjectdb_migrate.sql") if err != nil { return err } + + _, err = db.db.Exec(string(sql)) + if err != nil { + return err + } + t := time.Now() elapsed := t.Sub(start) log.WithFields(logrus.Fields{"elapsed": elapsed}).Info("Migration completed") diff --git a/static/colors/advtrains.txt b/public/colors/advtrains.txt similarity index 100% rename from static/colors/advtrains.txt rename to public/colors/advtrains.txt diff --git a/static/colors/custom.txt b/public/colors/custom.txt similarity index 100% rename from static/colors/custom.txt rename to public/colors/custom.txt diff --git a/static/colors/mcl2_colors.txt b/public/colors/mcl2_colors.txt similarity index 100% rename from static/colors/mcl2_colors.txt rename to public/colors/mcl2_colors.txt diff --git a/static/colors/miles.txt b/public/colors/miles.txt similarity index 100% rename from static/colors/miles.txt rename to public/colors/miles.txt diff --git a/static/colors/scifi_nodes.txt b/public/colors/scifi_nodes.txt similarity index 100% rename from static/colors/scifi_nodes.txt rename to public/colors/scifi_nodes.txt diff --git a/static/colors/vanessa.txt b/public/colors/vanessa.txt similarity index 100% rename from static/colors/vanessa.txt rename to public/colors/vanessa.txt diff --git a/static/css/bootstrap.min.css b/public/css/bootstrap.min.css similarity index 100% rename from static/css/bootstrap.min.css rename to public/css/bootstrap.min.css diff --git a/static/css/custom.css b/public/css/custom.css similarity index 100% rename from static/css/custom.css rename to public/css/custom.css diff --git a/static/css/fontawesome.min.css b/public/css/fontawesome.min.css similarity index 100% rename from static/css/fontawesome.min.css rename to public/css/fontawesome.min.css diff --git a/static/css/images/layers-2x.png b/public/css/images/layers-2x.png similarity index 100% rename from static/css/images/layers-2x.png rename to public/css/images/layers-2x.png diff --git a/static/css/images/layers.png b/public/css/images/layers.png similarity index 100% rename from static/css/images/layers.png rename to public/css/images/layers.png diff --git a/static/css/images/marker-icon-2x.png b/public/css/images/marker-icon-2x.png similarity index 100% rename from static/css/images/marker-icon-2x.png rename to public/css/images/marker-icon-2x.png diff --git a/static/css/images/marker-icon-green.png b/public/css/images/marker-icon-green.png similarity index 100% rename from static/css/images/marker-icon-green.png rename to public/css/images/marker-icon-green.png diff --git a/static/css/images/marker-icon-red.png b/public/css/images/marker-icon-red.png similarity index 100% rename from static/css/images/marker-icon-red.png rename to public/css/images/marker-icon-red.png diff --git a/static/css/images/marker-icon.png b/public/css/images/marker-icon.png similarity index 100% rename from static/css/images/marker-icon.png rename to public/css/images/marker-icon.png diff --git a/static/css/images/marker-shadow.png b/public/css/images/marker-shadow.png similarity index 100% rename from static/css/images/marker-shadow.png rename to public/css/images/marker-shadow.png diff --git a/static/css/images/markers-matte.png b/public/css/images/markers-matte.png similarity index 100% rename from static/css/images/markers-matte.png rename to public/css/images/markers-matte.png diff --git a/static/css/images/markers-matte@2x.png b/public/css/images/markers-matte@2x.png similarity index 100% rename from static/css/images/markers-matte@2x.png rename to public/css/images/markers-matte@2x.png diff --git a/static/css/images/markers-plain.png b/public/css/images/markers-plain.png similarity index 100% rename from static/css/images/markers-plain.png rename to public/css/images/markers-plain.png diff --git a/static/css/images/markers-shadow.png b/public/css/images/markers-shadow.png similarity index 100% rename from static/css/images/markers-shadow.png rename to public/css/images/markers-shadow.png diff --git a/static/css/images/markers-shadow@2x.png b/public/css/images/markers-shadow@2x.png similarity index 100% rename from static/css/images/markers-shadow@2x.png rename to public/css/images/markers-shadow@2x.png diff --git a/static/css/images/markers-soft.png b/public/css/images/markers-soft.png similarity index 100% rename from static/css/images/markers-soft.png rename to public/css/images/markers-soft.png diff --git a/static/css/images/markers-soft@2x.png b/public/css/images/markers-soft@2x.png similarity index 100% rename from static/css/images/markers-soft@2x.png rename to public/css/images/markers-soft@2x.png diff --git a/static/css/leaflet.awesome-markers.css b/public/css/leaflet.awesome-markers.css similarity index 100% rename from static/css/leaflet.awesome-markers.css rename to public/css/leaflet.awesome-markers.css diff --git a/static/css/leaflet.css b/public/css/leaflet.css similarity index 100% rename from static/css/leaflet.css rename to public/css/leaflet.css diff --git a/public/embed.go b/public/embed.go new file mode 100644 index 0000000..c46a015 --- /dev/null +++ b/public/embed.go @@ -0,0 +1,6 @@ +package public + +import "embed" + +//go:embed * +var Files embed.FS diff --git a/static/extended_palette.txt b/public/extended_palette.txt similarity index 100% rename from static/extended_palette.txt rename to public/extended_palette.txt diff --git a/static/index.html b/public/index.html similarity index 100% rename from static/index.html rename to public/index.html diff --git a/static/js/.gitignore b/public/js/.gitignore similarity index 100% rename from static/js/.gitignore rename to public/js/.gitignore diff --git a/static/js/.jshintignore b/public/js/.jshintignore similarity index 100% rename from static/js/.jshintignore rename to public/js/.jshintignore diff --git a/static/js/.jshintrc b/public/js/.jshintrc similarity index 100% rename from static/js/.jshintrc rename to public/js/.jshintrc diff --git a/static/js/LayerManager.js b/public/js/LayerManager.js similarity index 100% rename from static/js/LayerManager.js rename to public/js/LayerManager.js diff --git a/static/js/WebSocketChannel.js b/public/js/WebSocketChannel.js similarity index 100% rename from static/js/WebSocketChannel.js rename to public/js/WebSocketChannel.js diff --git a/static/js/api.js b/public/js/api.js similarity index 100% rename from static/js/api.js rename to public/js/api.js diff --git a/static/js/bootstrap.js b/public/js/bootstrap.js similarity index 100% rename from static/js/bootstrap.js rename to public/js/bootstrap.js diff --git a/static/js/compat.js b/public/js/compat.js similarity index 100% rename from static/js/compat.js rename to public/js/compat.js diff --git a/static/js/components/LayerSelector.js b/public/js/components/LayerSelector.js similarity index 100% rename from static/js/components/LayerSelector.js rename to public/js/components/LayerSelector.js diff --git a/static/js/components/Map.js b/public/js/components/Map.js similarity index 100% rename from static/js/components/Map.js rename to public/js/components/Map.js diff --git a/static/js/components/Search.js b/public/js/components/Search.js similarity index 100% rename from static/js/components/Search.js rename to public/js/components/Search.js diff --git a/static/js/components/SearchInput.js b/public/js/components/SearchInput.js similarity index 100% rename from static/js/components/SearchInput.js rename to public/js/components/SearchInput.js diff --git a/static/js/components/SearchResult.js b/public/js/components/SearchResult.js similarity index 100% rename from static/js/components/SearchResult.js rename to public/js/components/SearchResult.js diff --git a/static/js/components/WorldStats.js b/public/js/components/WorldStats.js similarity index 100% rename from static/js/components/WorldStats.js rename to public/js/components/WorldStats.js diff --git a/static/js/config.js b/public/js/config.js similarity index 100% rename from static/js/config.js rename to public/js/config.js diff --git a/static/js/lib/HtmlSanitizer.js b/public/js/lib/HtmlSanitizer.js similarity index 100% rename from static/js/lib/HtmlSanitizer.js rename to public/js/lib/HtmlSanitizer.js diff --git a/static/js/lib/leaflet.awesome-markers.js b/public/js/lib/leaflet.awesome-markers.js similarity index 100% rename from static/js/lib/leaflet.awesome-markers.js rename to public/js/lib/leaflet.awesome-markers.js diff --git a/static/js/lib/leaflet.js b/public/js/lib/leaflet.js similarity index 100% rename from static/js/lib/leaflet.js rename to public/js/lib/leaflet.js diff --git a/static/js/lib/mithril.min.js b/public/js/lib/mithril.min.js similarity index 100% rename from static/js/lib/mithril.min.js rename to public/js/lib/mithril.min.js diff --git a/static/js/lib/moment.min.js b/public/js/lib/moment.min.js similarity index 100% rename from static/js/lib/moment.min.js rename to public/js/lib/moment.min.js diff --git a/static/js/main.js b/public/js/main.js similarity index 100% rename from static/js/main.js rename to public/js/main.js diff --git a/static/js/map/CoordinatesDisplay.js b/public/js/map/CoordinatesDisplay.js similarity index 100% rename from static/js/map/CoordinatesDisplay.js rename to public/js/map/CoordinatesDisplay.js diff --git a/static/js/map/CustomOverlay.js b/public/js/map/CustomOverlay.js similarity index 100% rename from static/js/map/CustomOverlay.js rename to public/js/map/CustomOverlay.js diff --git a/static/js/map/MapFactory.js b/public/js/map/MapFactory.js similarity index 100% rename from static/js/map/MapFactory.js rename to public/js/map/MapFactory.js diff --git a/static/js/map/Overlaysetup.js b/public/js/map/Overlaysetup.js similarity index 100% rename from static/js/map/Overlaysetup.js rename to public/js/map/Overlaysetup.js diff --git a/static/js/map/RealtimeTileLayer.js b/public/js/map/RealtimeTileLayer.js similarity index 100% rename from static/js/map/RealtimeTileLayer.js rename to public/js/map/RealtimeTileLayer.js diff --git a/static/js/map/SimpleCRS.js b/public/js/map/SimpleCRS.js similarity index 100% rename from static/js/map/SimpleCRS.js rename to public/js/map/SimpleCRS.js diff --git a/static/js/map/TopRightControl.js b/public/js/map/TopRightControl.js similarity index 100% rename from static/js/map/TopRightControl.js rename to public/js/map/TopRightControl.js diff --git a/static/js/map/WorldInfoDisplay.js b/public/js/map/WorldInfoDisplay.js similarity index 100% rename from static/js/map/WorldInfoDisplay.js rename to public/js/map/WorldInfoDisplay.js diff --git a/static/js/map/overlays/ATMOverlay.js b/public/js/map/overlays/ATMOverlay.js similarity index 100% rename from static/js/map/overlays/ATMOverlay.js rename to public/js/map/overlays/ATMOverlay.js diff --git a/static/js/map/overlays/AbstractGeoJsonOverlay.js b/public/js/map/overlays/AbstractGeoJsonOverlay.js similarity index 100% rename from static/js/map/overlays/AbstractGeoJsonOverlay.js rename to public/js/map/overlays/AbstractGeoJsonOverlay.js diff --git a/static/js/map/overlays/AbstractIconOverlay.js b/public/js/map/overlays/AbstractIconOverlay.js similarity index 100% rename from static/js/map/overlays/AbstractIconOverlay.js rename to public/js/map/overlays/AbstractIconOverlay.js diff --git a/static/js/map/overlays/BonesOverlay.js b/public/js/map/overlays/BonesOverlay.js similarity index 100% rename from static/js/map/overlays/BonesOverlay.js rename to public/js/map/overlays/BonesOverlay.js diff --git a/static/js/map/overlays/BorderOverlay.js b/public/js/map/overlays/BorderOverlay.js similarity index 100% rename from static/js/map/overlays/BorderOverlay.js rename to public/js/map/overlays/BorderOverlay.js diff --git a/static/js/map/overlays/DigitermOverlay.js b/public/js/map/overlays/DigitermOverlay.js similarity index 100% rename from static/js/map/overlays/DigitermOverlay.js rename to public/js/map/overlays/DigitermOverlay.js diff --git a/static/js/map/overlays/LabelOverlay.js b/public/js/map/overlays/LabelOverlay.js similarity index 100% rename from static/js/map/overlays/LabelOverlay.js rename to public/js/map/overlays/LabelOverlay.js diff --git a/static/js/map/overlays/LcdOverlay.js b/public/js/map/overlays/LcdOverlay.js similarity index 100% rename from static/js/map/overlays/LcdOverlay.js rename to public/js/map/overlays/LcdOverlay.js diff --git a/static/js/map/overlays/LocatorOverlay.js b/public/js/map/overlays/LocatorOverlay.js similarity index 100% rename from static/js/map/overlays/LocatorOverlay.js rename to public/js/map/overlays/LocatorOverlay.js diff --git a/static/js/map/overlays/LuacontrollerOverlay.js b/public/js/map/overlays/LuacontrollerOverlay.js similarity index 100% rename from static/js/map/overlays/LuacontrollerOverlay.js rename to public/js/map/overlays/LuacontrollerOverlay.js diff --git a/static/js/map/overlays/MinecartOverlay.js b/public/js/map/overlays/MinecartOverlay.js similarity index 100% rename from static/js/map/overlays/MinecartOverlay.js rename to public/js/map/overlays/MinecartOverlay.js diff --git a/static/js/map/overlays/MissionOverlay.js b/public/js/map/overlays/MissionOverlay.js similarity index 100% rename from static/js/map/overlays/MissionOverlay.js rename to public/js/map/overlays/MissionOverlay.js diff --git a/static/js/map/overlays/PlayerOverlay.js b/public/js/map/overlays/PlayerOverlay.js similarity index 100% rename from static/js/map/overlays/PlayerOverlay.js rename to public/js/map/overlays/PlayerOverlay.js diff --git a/static/js/map/overlays/PoiOverlay.js b/public/js/map/overlays/PoiOverlay.js similarity index 100% rename from static/js/map/overlays/PoiOverlay.js rename to public/js/map/overlays/PoiOverlay.js diff --git a/static/js/map/overlays/PrivProtectorOverlay.js b/public/js/map/overlays/PrivProtectorOverlay.js similarity index 100% rename from static/js/map/overlays/PrivProtectorOverlay.js rename to public/js/map/overlays/PrivProtectorOverlay.js diff --git a/static/js/map/overlays/ProtectorOverlay.js b/public/js/map/overlays/ProtectorOverlay.js similarity index 100% rename from static/js/map/overlays/ProtectorOverlay.js rename to public/js/map/overlays/ProtectorOverlay.js diff --git a/static/js/map/overlays/ShopOverlay.js b/public/js/map/overlays/ShopOverlay.js similarity index 100% rename from static/js/map/overlays/ShopOverlay.js rename to public/js/map/overlays/ShopOverlay.js diff --git a/static/js/map/overlays/SignOverlay.js b/public/js/map/overlays/SignOverlay.js similarity index 100% rename from static/js/map/overlays/SignOverlay.js rename to public/js/map/overlays/SignOverlay.js diff --git a/static/js/map/overlays/TechnicAnchorOverlay.js b/public/js/map/overlays/TechnicAnchorOverlay.js similarity index 100% rename from static/js/map/overlays/TechnicAnchorOverlay.js rename to public/js/map/overlays/TechnicAnchorOverlay.js diff --git a/static/js/map/overlays/TechnicQuarryOverlay.js b/public/js/map/overlays/TechnicQuarryOverlay.js similarity index 100% rename from static/js/map/overlays/TechnicQuarryOverlay.js rename to public/js/map/overlays/TechnicQuarryOverlay.js diff --git a/static/js/map/overlays/TechnicSwitchOverlay.js b/public/js/map/overlays/TechnicSwitchOverlay.js similarity index 100% rename from static/js/map/overlays/TechnicSwitchOverlay.js rename to public/js/map/overlays/TechnicSwitchOverlay.js diff --git a/static/js/map/overlays/TrainOverlay.js b/public/js/map/overlays/TrainOverlay.js similarity index 100% rename from static/js/map/overlays/TrainOverlay.js rename to public/js/map/overlays/TrainOverlay.js diff --git a/static/js/map/overlays/TrainlineOverlay.js b/public/js/map/overlays/TrainlineOverlay.js similarity index 100% rename from static/js/map/overlays/TrainlineOverlay.js rename to public/js/map/overlays/TrainlineOverlay.js diff --git a/static/js/map/overlays/TrainsignalOverlay.js b/public/js/map/overlays/TrainsignalOverlay.js similarity index 100% rename from static/js/map/overlays/TrainsignalOverlay.js rename to public/js/map/overlays/TrainsignalOverlay.js diff --git a/static/js/map/overlays/TravelnetOverlay.js b/public/js/map/overlays/TravelnetOverlay.js similarity index 100% rename from static/js/map/overlays/TravelnetOverlay.js rename to public/js/map/overlays/TravelnetOverlay.js diff --git a/static/js/map/overlays/XPProtectorOverlay.js b/public/js/map/overlays/XPProtectorOverlay.js similarity index 100% rename from static/js/map/overlays/XPProtectorOverlay.js rename to public/js/map/overlays/XPProtectorOverlay.js diff --git a/static/js/rollup.config.js b/public/js/rollup.config.js similarity index 100% rename from static/js/rollup.config.js rename to public/js/rollup.config.js diff --git a/static/js/routes.js b/public/js/routes.js similarity index 100% rename from static/js/routes.js rename to public/js/routes.js diff --git a/static/js/stats.js b/public/js/stats.js similarity index 100% rename from static/js/stats.js rename to public/js/stats.js diff --git a/static/js/util/debounce.js b/public/js/util/debounce.js similarity index 100% rename from static/js/util/debounce.js rename to public/js/util/debounce.js diff --git a/static/pics/advtrains/advtrains_detailed_engine_steam_inv.png b/public/pics/advtrains/advtrains_detailed_engine_steam_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_detailed_engine_steam_inv.png rename to public/pics/advtrains/advtrains_detailed_engine_steam_inv.png diff --git a/static/pics/advtrains/advtrains_engine_industrial_inv.png b/public/pics/advtrains/advtrains_engine_industrial_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_engine_industrial_inv.png rename to public/pics/advtrains/advtrains_engine_industrial_inv.png diff --git a/static/pics/advtrains/advtrains_engine_japan_inv.png b/public/pics/advtrains/advtrains_engine_japan_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_engine_japan_inv.png rename to public/pics/advtrains/advtrains_engine_japan_inv.png diff --git a/static/pics/advtrains/advtrains_engine_steam_inv.png b/public/pics/advtrains/advtrains_engine_steam_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_engine_steam_inv.png rename to public/pics/advtrains/advtrains_engine_steam_inv.png diff --git a/static/pics/advtrains/advtrains_signal_off.png b/public/pics/advtrains/advtrains_signal_off.png similarity index 100% rename from static/pics/advtrains/advtrains_signal_off.png rename to public/pics/advtrains/advtrains_signal_off.png diff --git a/static/pics/advtrains/advtrains_signal_on.png b/public/pics/advtrains/advtrains_signal_on.png similarity index 100% rename from static/pics/advtrains/advtrains_signal_on.png rename to public/pics/advtrains/advtrains_signal_on.png diff --git a/static/pics/advtrains/advtrains_subway_wagon_inv.png b/public/pics/advtrains/advtrains_subway_wagon_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_subway_wagon_inv.png rename to public/pics/advtrains/advtrains_subway_wagon_inv.png diff --git a/static/pics/advtrains/advtrains_subway_wagon_inv_blue.png b/public/pics/advtrains/advtrains_subway_wagon_inv_blue.png similarity index 100% rename from static/pics/advtrains/advtrains_subway_wagon_inv_blue.png rename to public/pics/advtrains/advtrains_subway_wagon_inv_blue.png diff --git a/static/pics/advtrains/advtrains_subway_wagon_inv_green.png b/public/pics/advtrains/advtrains_subway_wagon_inv_green.png similarity index 100% rename from static/pics/advtrains/advtrains_subway_wagon_inv_green.png rename to public/pics/advtrains/advtrains_subway_wagon_inv_green.png diff --git a/static/pics/advtrains/advtrains_subway_wagon_inv_red.png b/public/pics/advtrains/advtrains_subway_wagon_inv_red.png similarity index 100% rename from static/pics/advtrains/advtrains_subway_wagon_inv_red.png rename to public/pics/advtrains/advtrains_subway_wagon_inv_red.png diff --git a/static/pics/advtrains/advtrains_wagon_box_inv.png b/public/pics/advtrains/advtrains_wagon_box_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_wagon_box_inv.png rename to public/pics/advtrains/advtrains_wagon_box_inv.png diff --git a/static/pics/advtrains/advtrains_wagon_inv.png b/public/pics/advtrains/advtrains_wagon_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_wagon_inv.png rename to public/pics/advtrains/advtrains_wagon_inv.png diff --git a/static/pics/advtrains/advtrains_wagon_japan_inv.png b/public/pics/advtrains/advtrains_wagon_japan_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_wagon_japan_inv.png rename to public/pics/advtrains/advtrains_wagon_japan_inv.png diff --git a/static/pics/advtrains/advtrains_wagon_tank_inv.png b/public/pics/advtrains/advtrains_wagon_tank_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_wagon_tank_inv.png rename to public/pics/advtrains/advtrains_wagon_tank_inv.png diff --git a/static/pics/advtrains/advtrains_wagon_wood_inv.png b/public/pics/advtrains/advtrains_wagon_wood_inv.png similarity index 100% rename from static/pics/advtrains/advtrains_wagon_wood_inv.png rename to public/pics/advtrains/advtrains_wagon_wood_inv.png diff --git a/static/pics/atm2_front.png b/public/pics/atm2_front.png similarity index 100% rename from static/pics/atm2_front.png rename to public/pics/atm2_front.png diff --git a/static/pics/atm3_front.png b/public/pics/atm3_front.png similarity index 100% rename from static/pics/atm3_front.png rename to public/pics/atm3_front.png diff --git a/static/pics/atm_front.png b/public/pics/atm_front.png similarity index 100% rename from static/pics/atm_front.png rename to public/pics/atm_front.png diff --git a/static/pics/atm_front_wt.png b/public/pics/atm_front_wt.png similarity index 100% rename from static/pics/atm_front_wt.png rename to public/pics/atm_front_wt.png diff --git a/static/pics/bones_top.png b/public/pics/bones_top.png similarity index 100% rename from static/pics/bones_top.png rename to public/pics/bones_top.png diff --git a/static/pics/bubble.png b/public/pics/bubble.png similarity index 100% rename from static/pics/bubble.png rename to public/pics/bubble.png diff --git a/static/pics/bubble_half.png b/public/pics/bubble_half.png similarity index 100% rename from static/pics/bubble_half.png rename to public/pics/bubble_half.png diff --git a/static/pics/default_sign_steel.png b/public/pics/default_sign_steel.png similarity index 100% rename from static/pics/default_sign_steel.png rename to public/pics/default_sign_steel.png diff --git a/static/pics/default_sign_wood.png b/public/pics/default_sign_wood.png similarity index 100% rename from static/pics/default_sign_wood.png rename to public/pics/default_sign_wood.png diff --git a/static/pics/default_tool_mesepick.png b/public/pics/default_tool_mesepick.png similarity index 100% rename from static/pics/default_tool_mesepick.png rename to public/pics/default_tool_mesepick.png diff --git a/static/pics/digiterms_beige_front.png b/public/pics/digiterms_beige_front.png similarity index 100% rename from static/pics/digiterms_beige_front.png rename to public/pics/digiterms_beige_front.png diff --git a/static/pics/heart.png b/public/pics/heart.png similarity index 100% rename from static/pics/heart.png rename to public/pics/heart.png diff --git a/static/pics/heart_half.png b/public/pics/heart_half.png similarity index 100% rename from static/pics/heart_half.png rename to public/pics/heart_half.png diff --git a/static/pics/jeija_luacontroller_burnt_top.png b/public/pics/jeija_luacontroller_burnt_top.png similarity index 100% rename from static/pics/jeija_luacontroller_burnt_top.png rename to public/pics/jeija_luacontroller_burnt_top.png diff --git a/static/pics/jeija_luacontroller_top.png b/public/pics/jeija_luacontroller_top.png similarity index 100% rename from static/pics/jeija_luacontroller_top.png rename to public/pics/jeija_luacontroller_top.png diff --git a/static/pics/lcd_lcd.png b/public/pics/lcd_lcd.png similarity index 100% rename from static/pics/lcd_lcd.png rename to public/pics/lcd_lcd.png diff --git a/static/pics/locator_beacon_base.png b/public/pics/locator_beacon_base.png similarity index 100% rename from static/pics/locator_beacon_base.png rename to public/pics/locator_beacon_base.png diff --git a/static/pics/locator_beacon_level1.png b/public/pics/locator_beacon_level1.png similarity index 100% rename from static/pics/locator_beacon_level1.png rename to public/pics/locator_beacon_level1.png diff --git a/static/pics/locator_beacon_level2.png b/public/pics/locator_beacon_level2.png similarity index 100% rename from static/pics/locator_beacon_level2.png rename to public/pics/locator_beacon_level2.png diff --git a/static/pics/locator_beacon_level3.png b/public/pics/locator_beacon_level3.png similarity index 100% rename from static/pics/locator_beacon_level3.png rename to public/pics/locator_beacon_level3.png diff --git a/static/pics/locator_radar.png b/public/pics/locator_radar.png similarity index 100% rename from static/pics/locator_radar.png rename to public/pics/locator_radar.png diff --git a/static/pics/mapserver_label.png b/public/pics/mapserver_label.png similarity index 100% rename from static/pics/mapserver_label.png rename to public/pics/mapserver_label.png diff --git a/static/pics/minecart_logo.png b/public/pics/minecart_logo.png similarity index 100% rename from static/pics/minecart_logo.png rename to public/pics/minecart_logo.png diff --git a/static/pics/mission_32px.png b/public/pics/mission_32px.png similarity index 100% rename from static/pics/mission_32px.png rename to public/pics/mission_32px.png diff --git a/static/pics/mission_64px.png b/public/pics/mission_64px.png similarity index 100% rename from static/pics/mission_64px.png rename to public/pics/mission_64px.png diff --git a/static/pics/sam.png b/public/pics/sam.png similarity index 100% rename from static/pics/sam.png rename to public/pics/sam.png diff --git a/static/pics/search.png b/public/pics/search.png similarity index 100% rename from static/pics/search.png rename to public/pics/search.png diff --git a/static/pics/shop.png b/public/pics/shop.png similarity index 100% rename from static/pics/shop.png rename to public/pics/shop.png diff --git a/static/pics/shop_empty.png b/public/pics/shop_empty.png similarity index 100% rename from static/pics/shop_empty.png rename to public/pics/shop_empty.png diff --git a/static/pics/technic_admin_anchor.png b/public/pics/technic_admin_anchor.png similarity index 100% rename from static/pics/technic_admin_anchor.png rename to public/pics/technic_admin_anchor.png diff --git a/static/pics/technic_hv_nuclear_reactor_core.png b/public/pics/technic_hv_nuclear_reactor_core.png similarity index 100% rename from static/pics/technic_hv_nuclear_reactor_core.png rename to public/pics/technic_hv_nuclear_reactor_core.png diff --git a/static/pics/technic_water_mill_top_active.png b/public/pics/technic_water_mill_top_active.png similarity index 100% rename from static/pics/technic_water_mill_top_active.png rename to public/pics/technic_water_mill_top_active.png diff --git a/static/pics/travelnet_inv.png b/public/pics/travelnet_inv.png similarity index 100% rename from static/pics/travelnet_inv.png rename to public/pics/travelnet_inv.png diff --git a/static/pics/unifieddyes_palette_extended.png b/public/pics/unifieddyes_palette_extended.png similarity index 100% rename from static/pics/unifieddyes_palette_extended.png rename to public/pics/unifieddyes_palette_extended.png diff --git a/static/sql/postgres_mapdb_migrate.sql b/public/sql/postgres_mapdb_migrate.sql similarity index 100% rename from static/sql/postgres_mapdb_migrate.sql rename to public/sql/postgres_mapdb_migrate.sql diff --git a/static/sql/postgres_mapobjectdb_migrate.sql b/public/sql/postgres_mapobjectdb_migrate.sql similarity index 100% rename from static/sql/postgres_mapobjectdb_migrate.sql rename to public/sql/postgres_mapobjectdb_migrate.sql diff --git a/static/sql/sqlite_mapdb_migrate.sql b/public/sql/sqlite_mapdb_migrate.sql similarity index 100% rename from static/sql/sqlite_mapdb_migrate.sql rename to public/sql/sqlite_mapdb_migrate.sql diff --git a/static/sql/sqlite_mapobjectdb_migrate.sql b/public/sql/sqlite_mapobjectdb_migrate.sql similarity index 100% rename from static/sql/sqlite_mapobjectdb_migrate.sql rename to public/sql/sqlite_mapobjectdb_migrate.sql diff --git a/static/stats.html b/public/stats.html similarity index 100% rename from static/stats.html rename to public/stats.html diff --git a/static/webfonts/fa-brands-400.eot b/public/webfonts/fa-brands-400.eot similarity index 100% rename from static/webfonts/fa-brands-400.eot rename to public/webfonts/fa-brands-400.eot diff --git a/static/webfonts/fa-brands-400.svg b/public/webfonts/fa-brands-400.svg similarity index 100% rename from static/webfonts/fa-brands-400.svg rename to public/webfonts/fa-brands-400.svg diff --git a/static/webfonts/fa-brands-400.ttf b/public/webfonts/fa-brands-400.ttf similarity index 100% rename from static/webfonts/fa-brands-400.ttf rename to public/webfonts/fa-brands-400.ttf diff --git a/static/webfonts/fa-brands-400.woff b/public/webfonts/fa-brands-400.woff similarity index 100% rename from static/webfonts/fa-brands-400.woff rename to public/webfonts/fa-brands-400.woff diff --git a/static/webfonts/fa-brands-400.woff2 b/public/webfonts/fa-brands-400.woff2 similarity index 100% rename from static/webfonts/fa-brands-400.woff2 rename to public/webfonts/fa-brands-400.woff2 diff --git a/static/webfonts/fa-regular-400.eot b/public/webfonts/fa-regular-400.eot similarity index 100% rename from static/webfonts/fa-regular-400.eot rename to public/webfonts/fa-regular-400.eot diff --git a/static/webfonts/fa-regular-400.svg b/public/webfonts/fa-regular-400.svg similarity index 100% rename from static/webfonts/fa-regular-400.svg rename to public/webfonts/fa-regular-400.svg diff --git a/static/webfonts/fa-regular-400.ttf b/public/webfonts/fa-regular-400.ttf similarity index 100% rename from static/webfonts/fa-regular-400.ttf rename to public/webfonts/fa-regular-400.ttf diff --git a/static/webfonts/fa-regular-400.woff b/public/webfonts/fa-regular-400.woff similarity index 100% rename from static/webfonts/fa-regular-400.woff rename to public/webfonts/fa-regular-400.woff diff --git a/static/webfonts/fa-regular-400.woff2 b/public/webfonts/fa-regular-400.woff2 similarity index 100% rename from static/webfonts/fa-regular-400.woff2 rename to public/webfonts/fa-regular-400.woff2 diff --git a/static/webfonts/fa-solid-900.eot b/public/webfonts/fa-solid-900.eot similarity index 100% rename from static/webfonts/fa-solid-900.eot rename to public/webfonts/fa-solid-900.eot diff --git a/static/webfonts/fa-solid-900.svg b/public/webfonts/fa-solid-900.svg similarity index 100% rename from static/webfonts/fa-solid-900.svg rename to public/webfonts/fa-solid-900.svg diff --git a/static/webfonts/fa-solid-900.ttf b/public/webfonts/fa-solid-900.ttf similarity index 100% rename from static/webfonts/fa-solid-900.ttf rename to public/webfonts/fa-solid-900.ttf diff --git a/static/webfonts/fa-solid-900.woff b/public/webfonts/fa-solid-900.woff similarity index 100% rename from static/webfonts/fa-solid-900.woff rename to public/webfonts/fa-solid-900.woff diff --git a/static/webfonts/fa-solid-900.woff2 b/public/webfonts/fa-solid-900.woff2 similarity index 100% rename from static/webfonts/fa-solid-900.woff2 rename to public/webfonts/fa-solid-900.woff2 diff --git a/tilerenderer/renderer_benchmark_test.go b/tilerenderer/renderer_benchmark_test.go index fbcac80..b22ca97 100644 --- a/tilerenderer/renderer_benchmark_test.go +++ b/tilerenderer/renderer_benchmark_test.go @@ -40,7 +40,7 @@ func BenchmarkTileRender(b *testing.B) { cache := mapblockaccessor.NewMapBlockAccessor(a, 500*time.Millisecond, 1000*time.Millisecond, 1000) c := colormapping.NewColorMapping() - _, err = c.LoadVFSColors(false, "/colors/vanessa.txt") + _, err = c.LoadVFSColors("colors/vanessa.txt") if err != nil { b.Fatal(err) } diff --git a/tilerenderer/renderer_test.go b/tilerenderer/renderer_test.go index b6f43d4..e7401e6 100644 --- a/tilerenderer/renderer_test.go +++ b/tilerenderer/renderer_test.go @@ -40,14 +40,14 @@ func TestTileRender(t *testing.T) { cache := mapblockaccessor.NewMapBlockAccessor(a, 500*time.Millisecond, 1000*time.Millisecond, 1000) c := colormapping.NewColorMapping() - _, err = c.LoadVFSColors(false, "/colors/vanessa.txt") + _, err = c.LoadVFSColors("colors/vanessa.txt") if err != nil { t.Fatal(err) } r := mapblockrenderer.NewMapBlockRenderer(cache, c) - tiletmpdir, err := ioutil.TempDir("", "TestTileRenderTiles.*.sqlite") + tiletmpdir, _ := ioutil.TempDir("", "TestTileRenderTiles.*.sqlite") defer os.RemoveAll(tiletmpdir) tdb, _ := tiledb.New(tiletmpdir) diff --git a/vfs/.gitignore b/vfs/.gitignore deleted file mode 100644 index 7c605bd..0000000 --- a/vfs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -static.go diff --git a/web/media.go b/web/media.go index a19785d..b1bdfae 100644 --- a/web/media.go +++ b/web/media.go @@ -2,7 +2,7 @@ package web import ( "mapserver/app" - "mapserver/vfs" + "mapserver/public" "net/http" "strings" ) @@ -26,7 +26,12 @@ func (h *MediaHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request) { content := h.ctx.MediaRepo[filename] if content == nil && hasfallback && len(fallback) > 0 { - content, _ = vfs.FSByte(h.ctx.Config.Webdev, "/pics/"+fallback[0]) + var err error + content, err = public.Files.ReadFile("pics/" + fallback[0]) + if err != nil { + resp.WriteHeader(http.StatusInternalServerError) + return + } } if content != nil { diff --git a/web/serve.go b/web/serve.go index 150fa90..0463724 100644 --- a/web/serve.go +++ b/web/serve.go @@ -1,9 +1,11 @@ package web import ( + "embed" "mapserver/app" - "mapserver/vfs" + "mapserver/public" "net/http" + "os" "strconv" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -19,7 +21,8 @@ func Serve(ctx *app.App) { mux := http.NewServeMux() - mux.Handle("/", http.FileServer(vfs.FS(ctx.Config.Webdev))) + // static files + mux.Handle("/", http.FileServer(getFileSystem(ctx.Config.Webdev, public.Files))) tiles := &Tiles{ctx: ctx} tiles.Init() @@ -51,26 +54,20 @@ func Serve(ctx *app.App) { mux.Handle("/api/mapblock/", &MapblockHandler{ctx: ctx}) } - http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { - uri := r.RequestURI - - if len(uri) >= 3 { - suffix := uri[len(uri)-3:] - - switch suffix { - case "css": - w.Header().Set("Content-Type", "text/css") - case ".js": - w.Header().Set("Content-Type", "application/javascript") - case "png": - w.Header().Set("Content-Type", "image/png") - } - } - mux.ServeHTTP(w, r) - }) + http.HandleFunc("/", mux.ServeHTTP) err := http.ListenAndServe(":"+strconv.Itoa(ctx.Config.Port), nil) if err != nil { panic(err) } } + +func getFileSystem(useLocalfs bool, content embed.FS) http.FileSystem { + if useLocalfs { + log.Print("using live mode") + return http.FS(os.DirFS("public")) + } + + log.Print("using embed mode") + return http.FS(content) +}