func InspectImage(dockerClient *dockerclient.DockerClient, id string) (*dockerclient.ImageInfo, error) { cachedImageInfo, _ := imageCache.Get(id) if cachedImageInfo == nil { imageInfo, err := dockerClient.InspectImage(id) if err != nil { return nil, err } imageCache.Add(id, imageInfo) return imageInfo, nil } else { if cachedImageInfoCasted, ok := cachedImageInfo.(*dockerclient.ImageInfo); ok { return cachedImageInfoCasted, nil } else { return nil, fmt.Errorf("Cache casting error") } } }