From 2d1244e93c5f599deb764cdbb7fda2172dd1b974 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Erik=20Hedenstr=C3=B6m?= <erik@hedenstroem.com>
Date: Wed, 19 Feb 2020 23:46:49 +0100
Subject: [PATCH] added icon handler

---
 cmd/root.go | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/cmd/root.go b/cmd/root.go
index 3a75a71..bf72649 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -2,6 +2,7 @@ package cmd
 
 import (
 	"fmt"
+	"image/png"
 	"log"
 	"net/http"
 	"os"
@@ -27,6 +28,11 @@ var filePath string
 var appInfo *ipapk.AppInfo
 var manifestTemplate *template.Template
 
+func iconHandler(w http.ResponseWriter, req *http.Request) {
+	w.Header().Set("Content-Type", "image/png")
+	png.Encode(w, appInfo.Icon)
+}
+
 func qrcodeHandler(w http.ResponseWriter, req *http.Request) {
 	w.Header().Set("Content-Type", "image/png")
 	url := fmt.Sprintf("itms-services://?action=download-manifest&amp;url=%s://%s/manifest.plist", scheme, req.Host)
@@ -55,6 +61,7 @@ var rootCmd = &cobra.Command{
 		var err error
 		appInfo, err = ipapk.NewAppParser(file)
 		filePath = fmt.Sprintf("/%s", path.Base(file))
+		http.HandleFunc("/icon.png", iconHandler)
 		http.HandleFunc("/qrcode.png", qrcodeHandler)
 		http.HandleFunc("/manifest.plist", manifestHandler)
 		http.HandleFunc(filePath, fileDownloadHandler)
-- 
GitLab