// Attaching a servepage function to the /host endpoint to handle post request  
func (h Host) servepage(w http.ResponseWriter, r \*http.Request) {

		err := r.ParseForm()

		if err != nil {  
			log.Println(err)  
		}

		f := r.Form

		port1 := f.Get("port1")  
		port2 := f.Get("port2")

		if !CheckPort(port1, port2) {  
			w.Write([]byte("Invalid value of port"))  
			return  
		}  
                

                // populating a struct from posted data  
		data := struct {  
			Port1  string  
			Port2  string  
			Image1 string  
			Image2 string  
			Email  string  
			Hosting bool  
		}{  
			Port1:   port1,  
			Port2:   port2,  
			Image1:  f.Get("image1"),  
			Image2:  f.Get("image2"),  
			Email:   host.(string),  
			Hosting: true,  
		}  
		go func() {

			// run docker container  
			set := exec.Command("docker", "container", "run", "-it", "-d", "--name", data.Email+"1", data.Image1)  
			if err := set.Run(); err != nil {  
				log.Fatalln(err)  
			} else {  
				// exec into that container and share  
				cmd := exec.Command("gotty", "-w", "-p", data.Port1, "docker", "container", "exec", "-it", data.Email+"1", "sh")  
				cmd.Stdout = os.Stdout  
				cmd.Stderr = os.Stderr

				if err = cmd.Run(); err != nil {  
					log.Fatalln(err)  
				}

			}

		}()

		go func() {

			set := exec.Command("docker", "container", "run", "-it", "-d", "--name", data.Email+"2", data.Image2)  
			if err := set.Run(); err != nil {  
				log.Fatalln(err)  
			} else {

				cmd := exec.Command("gotty", "-w", "-p", data.Port2, "docker", "container", "exec", "-it", data.Email+"2", "sh")  
				cmd.Stdout = os.Stdout  
				cmd.Stderr = os.Stderr  
				if err = cmd.Run(); err != nil {  
					log.Fatalln(err)  
				}

			}

		}()  
                  
                // sleep to give enough time for docker container to start   
		time.Sleep(7 \* time.Second)

		t := h.temp.Lookup("host.html")  
		if t != nil {  
			err := t.Execute(w, data)  
			if err != nil {  
				log.Println(err)  
			}  
		} else {  
			w.WriteHeader(http.StatusNotFound)  
		}  
} 
}