mtsatellite/cmd/mtwebmapper/tilesupdater.go

44 lines
909 B
Go
Raw Normal View History

// Copyright 2014 by Sascha L. Teichmann
// Use of this source code is governed by the MIT license
// that can be found in the LICENSE file.
package main
import (
"encoding/json"
"log"
"net/http"
)
type tileUpdater struct {
mapDir string
redisHost string
redisPort int
}
type xz struct {
X int16
Z int16
}
func newTileUpdater(mapDir, redisHost string, redisPort int) *tileUpdater {
return &tileUpdater{
mapDir: mapDir,
redisHost: redisHost,
redisPort: redisPort}
}
func (tu *tileUpdater) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
var err error
var data []xz
decoder := json.NewDecoder(r.Body)
if err = decoder.Decode(&data); err != nil {
log.Printf("WARN: JSON document broken: %s", err)
http.Error(rw, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
return
}
log.Printf("Changes: #%d %+v\n", len(data), data)
rw.WriteHeader(http.StatusOK)
}