func decodetrackHandler(w http.ResponseWriter, r *http.Request) { c := appengine.NewContext(r) db := fdb.FlightDB{C: c} icao := r.FormValue("icaoid") callsign := strings.TrimSpace(r.FormValue("callsign")) if icao == "" || callsign == "" { http.Error(w, "need args {icaoid,callsign}", http.StatusInternalServerError) return } if tracks, err := db.ReadTrackFragments(icao, callsign); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } else { var params = map[string]interface{}{ "Tracks": tracks, "Callsign": callsign, "Icao24": icao, } if err := templates.ExecuteTemplate(w, "fdb-decodetrack", params); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } }