func parseMainFlag()

in openwhisk/forward_proxy.go [188:212]


func parseMainFlag(mainAtProxy string) (*ClientProxyData, error) {
	proxyData := ClientProxyData{}
	splitedMainAtProxy := strings.Split(mainAtProxy, "@")

	var extractedURL string

	if len(splitedMainAtProxy) == 2 {
		proxyData.MainFunc = splitedMainAtProxy[0]
		extractedURL = splitedMainAtProxy[1]
	} else if len(splitedMainAtProxy) == 1 {
		extractedURL = splitedMainAtProxy[0]
	} else {
		return nil, fmt.Errorf("invalid value for --main flag. Must be in the form of <main>@<proxy> or @<proxy>")
	}

	parsedUrl, err := parseMainURL(extractedURL)
	if err != nil {
		return nil, err
	}

	proxyData.ProxyURL = *parsedUrl

	Debug("Parsed main flag. Main: %s, Proxy: %s", proxyData.MainFunc, proxyData.ProxyURL.String())
	return &proxyData, nil
}