Don't crash on nil discoverer (fixes #917)

This commit is contained in:
Jakob Borg 2014-10-28 20:40:04 +01:00
parent 048883ad27
commit 6820c0a5d7
1 changed files with 8 additions and 6 deletions

View File

@ -453,13 +453,15 @@ func restPostDiscoveryHint(w http.ResponseWriter, r *http.Request) {
func restGetDiscovery(w http.ResponseWriter, r *http.Request) { func restGetDiscovery(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Header().Set("Content-Type", "application/json; charset=utf-8")
registry := discoverer.All() devices := map[string][]discover.CacheEntry{}
// Device ids can't be marshalled as keys so we need to manually if discoverer != nil {
// rebuild this map using strings. // Device ids can't be marshalled as keys so we need to manually
devices := make(map[string][]discover.CacheEntry, len(registry)) // rebuild this map using strings. Discoverer may be nil if discovery
for device, _ := range registry { // has not started yet.
devices[device.String()] = registry[device] for device, entries := range discoverer.All() {
devices[device.String()] = entries
}
} }
json.NewEncoder(w).Encode(devices) json.NewEncoder(w).Encode(devices)