goinstall github.com/tobi/tinny
you may have to add your $GOROOT/bin to your path to access the executable
tobi@tobbook8 ~ $ tinny --help Usage of tinny: -c="make": compiler to execute. make by default. -e="server": executable to launch. Must support -pXXXX for port assignment -p=3333: port
Tinny is a tiny web server thats used during development. When tinny recieves a request it will launch a compiler task ( such as make ), start an executable in the current directory and then forward the HTTP request to that server.
You must be working on a http sever. The http server needs to understand the -pXXXX command line switch that specifies the server it’s running on.
tobi@tobbook8 ~ $ cd ~/Code/go/imagery/src tobi@tobbook8 ~/Code/go/imagery/src $ tinny -compiler=gb Listening on port 3333 -> forwarding to executable server -p4357
If you are starting a go web project, use this as template:
package main import ( "net/http" "flag" "fmt" ) var port *int = flag.Int("p", 3333, "http port") func HelloServer(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", "text/plain") w.Write([]byte("hello, world\n")) } func main() { flag.Parse() http.HandleFunc("/", HelloServer) fmt.Printf("Listening on port %d\n", *port) err := http.ListenAndServe(fmt.Sprintf(":%d", *port), nil) if err != nil { panic(err) } }