| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -1,9 +1,11 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				package main
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"bytes"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"fmt"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"os"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"text/template"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"github.com/gorilla/mux"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"io/ioutil"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"net/http"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const (
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -14,20 +16,54 @@ const (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				func main() {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					t := template.New("svgConv")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//_ := template.New("svgConv")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					percentage := 0.999
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					fill := percentageToRGB(percentage)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//percentage := 0.999
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//fill := percentageToRGB(percentage)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					pill := CoveragePill{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						fmt.Sprintf("%.1f", toFixed(percentage, 3)*100),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						baseColour,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						fill,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//_ := CoveragePill{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//	fmt.Sprintf("%.1f", toFixed(percentage, 3)*100),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//	baseColour,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//	fill,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					r := mux.NewRouter()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					r.HandleFunc("/upload/go", upload)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					_ = http.ListenAndServe(":8080", r)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				func upload(w http.ResponseWriter, r *http.Request) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if r.Method != "POST" {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					err := r.ParseForm()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if err != nil {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						http.Error(w, "Request parameters not parsed", 500)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					t, err := t.Parse(svgTemplate)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					err = r.ParseMultipartForm(5 << 20)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if err != nil {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						panic(err)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						http.Error(w, "Request parameters not parsed", 500)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					form := r.Form
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					project := form.Get("project")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					tag := form.Get("tag")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					id := form.Get("id")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					file, _, err := r.FormFile("file")
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					b, _ := ioutil.ReadAll(file)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					n := bytes.Index(b, []byte{0})
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					content := string(b[n])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					fmt.Print(content)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if project == "" || tag == "" || id == "" {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						http.Error(w, "Request parameters [secret, project, tag, id] not found", 400)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					_ = t.Execute(os.Stdout, pill)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					_, _ = fmt.Fprintf(w, "project: '%s'\ntag: '%s'\nid: '%s'\n", project, tag, id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |