@@ -153,7 +153,7 @@ func login() *cobra.Command {
153
153
154
154
authURL := * serverURL
155
155
authURL .Path = serverURL .Path + "/cli-auth"
156
- if err := openURL (authURL .String ()); err != nil {
156
+ if err := openURL (cmd , authURL .String ()); err != nil {
157
157
_ , _ = fmt .Fprintf (cmd .OutOrStdout (), "Open the following in your browser:\n \n \t %s\n \n " , authURL .String ())
158
158
} else {
159
159
_ , _ = fmt .Fprintf (cmd .OutOrStdout (), "Your browser has been opened to visit:\n \n \t %s\n \n " , authURL .String ())
@@ -211,21 +211,22 @@ func isWSL() (bool, error) {
211
211
}
212
212
213
213
// openURL opens the provided URL via user's default browser
214
- func openURL (urlToOpen string ) error {
215
- var cmd string
216
- var args []string
217
-
214
+ func openURL (cmd * cobra.Command , urlToOpen string ) error {
215
+ noOpen , err := cmd .Flags ().GetBool (varNoOpen )
216
+ if err != nil {
217
+ panic (err )
218
+ }
219
+ if noOpen {
220
+ return xerrors .New ("opening is blocked" )
221
+ }
218
222
wsl , err := isWSL ()
219
223
if err != nil {
220
224
return xerrors .Errorf ("test running Windows Subsystem for Linux: %w" , err )
221
225
}
222
226
223
227
if wsl {
224
- cmd = "cmd.exe"
225
- args = []string {"/c" , "start" }
226
- urlToOpen = strings .ReplaceAll (urlToOpen , "&" , "^&" )
227
- args = append (args , urlToOpen )
228
- return exec .Command (cmd , args ... ).Start ()
228
+ // #nosec
229
+ return exec .Command ("cmd.exe" , "/c" , "start" , strings .ReplaceAll (urlToOpen , "&" , "^&" )).Start ()
229
230
}
230
231
231
232
return browser .OpenURL (urlToOpen )
0 commit comments