Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // OpenBrowser opens up the provided URL in a browser
- func OpenBrowser(url string) error {
- var cmd *exec.Cmd
- switch runtime.GOOS {
- case "openbsd":
- fallthrough
- case "linux":
- cmd = exec.Command("xdg-open", url)
- case "darwin":
- cmd = exec.Command("open", url)
- case "windows":
- r := strings.NewReplacer("&", "^&")
- cmd = exec.Command("cmd", "/c", "start", r.Replace(url))
- }
- if cmd != nil {
- cmd.Stdout = os.Stdout
- cmd.Stderr = os.Stderr
- err := cmd.Start()
- if err != nil {
- log.Printf("Failed to open browser due to error %v", err)
- return fmt.Errorf("Failed to open browser: " + err.Error())
- }
- err = cmd.Wait()
- if err != nil {
- log.Printf("Failed to wait for open browser command to finish due to error %v", err)
- return fmt.Errorf("Failed to wait for open browser command to finish: " + err.Error())
- }
- return nil
- } else {
- return errors.New("unsupported platform")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement