func main()

in proxy.go [48:94]


func main() {
	flag.Parse()

	// show version number
	if *version {
		fmt.Printf("OpenWhisk ActionLoop Proxy v%s, built with %s\n", openwhisk.Version, runtime.Version())
		return
	}

	// debugging
	if *debug {
		// set debugging flag, propagated to the actions
		openwhisk.Debugging = true
		os.Setenv("OW_DEBUG", "1")
	}

	proxyMode := openwhisk.ProxyModeNone
	useProxyClient := os.Getenv("OW_ACTIVATE_PROXY_CLIENT")
	if useProxyClient == "1" {
		openwhisk.Debug("OW_ACTIVATE_PROXY_CLIENT set. Using runtime as a forward proxy.")
		proxyMode = openwhisk.ProxyModeClient
	}

	useProxyServer := os.Getenv("OW_ACTIVATE_PROXY_SERVER")
	if useProxyServer == "1" {
		openwhisk.Debug("OW_ACTIVATE_PROXY_SERVER set. Using runtime as a proxy server.")
		proxyMode = openwhisk.ProxyModeServer
	}

	// create the action proxy
	ap := openwhisk.NewActionProxy("./action", os.Getenv("OW_COMPILER"), os.Stdout, os.Stderr, proxyMode)

	// compile on the fly upon request
	if *compile != "" {
		ap.ExtractAndCompileIO(os.Stdin, os.Stdout, *compile, *env)
		return
	}

	if useProxyClient == "1" {
		// hook exit signals for remote action cleanup
		go ap.HookExitSignals()
	}

	// start the balls rolling
	openwhisk.Debug("OpenWhisk ActionLoop Proxy %s: starting", openwhisk.Version)
	ap.Start(8080)
}